[PATCH 2/3] ARM: bcm2835: add rpi power domain driver
Kevin Hilman
khilman at kernel.org
Mon Nov 30 15:51:56 PST 2015
Alexander Aring <alex.aring at gmail.com> writes:
> This patch adds support for RPi several Power Domains and enable support
> to enable the USB Power Domain when it's not enabled before.
>
> This patch based on Eric Anholt's patch to support Power Domains. He had
> an issue about -EPROBE_DEFER inside the power domain subsystem, this
> issue was solved by commit <311fa6a> ("PM / Domains: Return -EPROBE_DEFER
> if we fail to init or turn-on domain").
[...]
> +#define RPI_POWER_DOMAIN(_domain, _name) \
> + [_domain] = { \
Using _domain as the array index is going to create a sparsely filled
array here, wasting memory. I'm not sure what the other domain numbers
are for other domains to know if this is a big waste or not, but it's
still a bit wasteful.
In any case, AFAICT, it doesn't look like you need to have the array
index match the domain number anyways since you're using container_of().
So I suggest just removing this array index part, and just creating them
in arrary order. Then your _probe function isn't going to try to setup
3 non-enabled domains before it finally hits the USB domain.
Kevin
More information about the linux-rpi-kernel
mailing list