Can't use "gpio = <&gpio1 0 0>" in reg_usb_otg_vbus: usb_otg_vbus

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

 



Hi,

  You can't seem to use:

     gpio = <&gpio1 0 0>;

  inside of:

    reg_usb_otg_vbus: usb_otg_vbus {


  because that equates to a value of zero in config->ena_gpio
in drivers/regulator/core.c:

   if (config->ena_gpio && gpio_is_valid(config->ena_gpio)) {

  which means it won't drop into the if statement.  I think I have a fix
but it's a bit invasive, touches a lot of files.  The gist is changing:

	struct regulator_config cfg = { };

 to
	struct regulator_config cfg = { .ena_gpio = -ENODEV, };  /* set to
invalid, we we can use zero */


  and changing:
	if (whatever->ena_gpio)

 to:
	if (gpio_is_valid(whatever->ena_gpio))

  Maybe someone has a better idea...

  Cheers,

  Rick






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


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux