Re: [PATCH 2/8] ARM: OMAP3: Initialize regulators for Beagle and Overo

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, May 25, 2009 at 10:49:38AM -0700, Tony Lindgren wrote:
> @@ -130,6 +148,10 @@ static int beagle_twl_gpio_setup(struct device *dev,
>  	mmc[0].gpio_cd = gpio + 0;
>  	twl4030_mmc_init(mmc);
>  
> +	/* link regulators to MMC adapters */
> +	beagle_vmmc1_supply.dev = mmc[0].dev;
> +	beagle_vsim_supply.dev = mmc[0].dev;
> +

I really hate it when I see this kind of initialization after registration.
It feels totally wrong and fragile.

At one point, I had clkdev matching using struct device pointer as well,
but it was realised that was far too limiting - you couldn't declare
clock entries without first having all devices setup, and then you run
into problems with ordering.

It looks like the regulator stuff is suffering this same problem - it
wants to match by struct device pointer.  That's fine if all your
struct device's are statically allocated, but as soon as you start
having dynamic ones, it gets _much_ harder to cope with.
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux