Re: [PATCH 2/8] FMC: add needed headers

From: Arnd Bergmann
Date: Wed Jun 19 2013 - 06:48:52 EST


On Wednesday 12 June 2013 09:13:36 Alessandro Rubini wrote:
> + */
> +struct fmc_operations {
> + uint32_t (*readl)(struct fmc_device *fmc, int offset);
> + void (*writel)(struct fmc_device *fmc, uint32_t value, int offset);
> + int (*validate)(struct fmc_device *fmc, struct fmc_driver *drv);
> + int (*reprogram)(struct fmc_device *f, struct fmc_driver *d, char *gw);
> + int (*irq_request)(struct fmc_device *fmc, irq_handler_t h,
> + char *name, int flags);

8<----
Subject: fmc: avoid readl/writel namespace conflict

The use of the 'readl' and 'writel' identifiers here causes build errors on
architectures where those are macros. This renames the fields to read32/write32
to avoid the problem.

Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>

diff --git a/drivers/fmc/fmc-fakedev.c b/drivers/fmc/fmc-fakedev.c
index bec94ac..941d093 100644
--- a/drivers/fmc/fmc-fakedev.c
+++ b/drivers/fmc/fmc-fakedev.c
@@ -232,8 +232,8 @@ static int ff_validate(struct fmc_device *fmc, struct fmc_driver *drv)


static struct fmc_operations ff_fmc_operations = {
- .readl = ff_readl,
- .writel = ff_writel,
+ .read32 = ff_readl,
+ .write32 = ff_writel,
.reprogram = ff_reprogram,
.irq_request = ff_irq_request,
.read_ee = ff_read_ee,
diff --git a/include/linux/fmc.h b/include/linux/fmc.h
index a3c4985..a5f0aa5 100644
--- a/include/linux/fmc.h
+++ b/include/linux/fmc.h
@@ -129,8 +129,8 @@ struct fmc_gpio {
* the exception.
*/
struct fmc_operations {
- uint32_t (*readl)(struct fmc_device *fmc, int offset);
- void (*writel)(struct fmc_device *fmc, uint32_t value, int offset);
+ uint32_t (*read32)(struct fmc_device *fmc, int offset);
+ void (*write32)(struct fmc_device *fmc, uint32_t value, int offset);
int (*validate)(struct fmc_device *fmc, struct fmc_driver *drv);
int (*reprogram)(struct fmc_device *f, struct fmc_driver *d, char *gw);
int (*irq_request)(struct fmc_device *fmc, irq_handler_t h,
@@ -194,14 +194,14 @@ struct fmc_device {
*/
static inline uint32_t fmc_readl(struct fmc_device *fmc, int offset)
{
- if (unlikely(fmc->op->readl))
- return fmc->op->readl(fmc, offset);
+ if (unlikely(fmc->op->read32))
+ return fmc->op->read32(fmc, offset);
return readl(fmc->fpga_base + offset);
}
static inline void fmc_writel(struct fmc_device *fmc, uint32_t val, int off)
{
- if (unlikely(fmc->op->writel))
- fmc->op->writel(fmc, val, off);
+ if (unlikely(fmc->op->write32))
+ fmc->op->write32(fmc, val, off);
else
writel(val, fmc->fpga_base + off);
}

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/