[PATCH 1/3] Introduce ARM AMBA bus

Sascha Hauer s.hauer at pengutronix.de
Mon Sep 10 03:25:58 EDT 2012


On Sat, Sep 01, 2012 at 02:36:28PM +0200, Jean-Christophe PLAGNIOL-VILLARD wrote:
> This will allow to detect the amba device and use the right driver for it at
> runtime.
> 
> The code is base on linux 3.5.
> 
> +
> +int amba_driver_register(struct amba_driver *drv)
> +{
> +	drv->drv.bus = &amba_bustype;
> +#define SETFN(fn)	if (drv->fn) drv->drv.fn = amba_##fn
> +	SETFN(probe);
> +	SETFN(remove);

Can we please drop this SETFN and just open code it? Being able to grep
for amba_probe and finding its users is quite convenient. No, I don't
care that in Linux it's also done like this.

> +struct amba_device *amba_device_alloc(const char *name, int id, resource_size_t base,
> +	size_t size)
> +{
> +	struct amba_device *dev;
> +
> +	dev = xzalloc(sizeof(*dev));
> +	if (dev) {

xzalloc always returns a valid pointer.

> +		strcpy(dev->dev.name, name);
> +		dev->dev.id = id;
> +		dev->res.start = base;
> +		dev->res.end = base + size - 1;
> +		dev->res.flags = IORESOURCE_MEM;
> +	}
> +
> +	return dev;
> +}
> +
> +/**
> + * struct amba_id - identifies a device on an AMBA bus
> + * @id: The significant bits if the hardware device ID
> + * @mask: Bitmask specifying which bits of the id field are significant when
> + *	matching.  A driver binds to a device when ((hardware device ID) & mask)
> + *	== id.
> + * @data: Private data used by the driver.
> + */
> +struct amba_id {
> +	unsigned int		id;
> +	unsigned int		mask;
> +#ifndef __KERNEL__
> +	kernel_ulong_t		data;
> +#else
> +	void			*data;
> +#endif

Drop this ifdef.

Sascha

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |



More information about the barebox mailing list