On Mon, Nov 26, 2012 at 12:45:45PM +0000, Andy Green wrote:
> This adds the config option to associate a regulator with each hub,
> when the hub on a specific, interesting device path appears, then
> the regular is powered while the logical hub exists.
>
> Signed-off-by: Andy Green <[email protected]>
> ---
> drivers/usb/core/Kconfig | 10 ++++++++++
> drivers/usb/core/hub.c | 26 +++++++++++++++++++++++++-
> 2 files changed, 35 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/usb/core/Kconfig b/drivers/usb/core/Kconfig
> index f70c1a1..4a91eb1 100644
> --- a/drivers/usb/core/Kconfig
> +++ b/drivers/usb/core/Kconfig
> @@ -95,3 +95,13 @@ config USB_OTG_BLACKLIST_HUB
> and software costs by not supporting external hubs. So
> are "Embedded Hosts" that don't offer OTG support.
>
> +config USB_HUB_DEVICE_PATH_REGULATOR
> + bool "Support generic regulators at hubs"
> + select DEVICEPATH
> + depends on USB
> + default n
> + help
> + Allows you to use the device_path APIs to associate kernel regulators
> + with dynamically probed USB hubs, so the regulators are enabled
> + as the appropriate hub instance gets created and disabled as it
> + is destroyed.
Even if I did like the device_path code (which I do not), this needs to
be rewritten to actually make sense to a user who would have to pick
this option, not a kernel developer.
> diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c
> index a815fd2..49ebb5e 100644
> --- a/drivers/usb/core/hub.c
> +++ b/drivers/usb/core/hub.c
> @@ -26,6 +26,7 @@
> #include <linux/mutex.h>
> #include <linux/freezer.h>
> #include <linux/random.h>
> +#include <linux/regulator/consumer.h>
>
> #include <asm/uaccess.h>
> #include <asm/byteorder.h>
> @@ -54,7 +55,9 @@ struct usb_hub {
> struct usb_device *hdev;
> struct kref kref;
> struct urb *urb; /* for interrupt polling pipe */
> -
> +#ifdef CONFIG_USB_HUB_DEVICE_PATH_REGULATOR
No #ifdefs in .c files, if at all possible please.
thanks,
greg k-h
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html