Hi Hans, >>> The DSDT for the Asus TF103C specifies a IOAPIC IRQ for the HCI -> host IRQ >>> but this is not correct. Unlike the previous entries in the table, this >>> time the correct GPIO to use instead is known; and the TF103C is battery >>> powered making runtime-pm support more important. >>> >>> Extend the bcm_broken_irq_dmi_table mechanism to allow specifying the right >>> GPIO instead of just always disabling runtime-pm and add an entry to it for >>> the Asus TF103C. >>> >>> Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> >>> --- >>> drivers/bluetooth/hci_bcm.c | 44 ++++++++++++++++++++++++++++++------- >>> 1 file changed, 36 insertions(+), 8 deletions(-) >>> >>> diff --git a/drivers/bluetooth/hci_bcm.c b/drivers/bluetooth/hci_bcm.c >>> index ef54afa29357..c6ac4aa994af 100644 >>> --- a/drivers/bluetooth/hci_bcm.c >>> +++ b/drivers/bluetooth/hci_bcm.c >>> @@ -20,6 +20,7 @@ >>> #include <linux/regulator/consumer.h> >>> #include <linux/clk.h> >>> #include <linux/gpio/consumer.h> >>> +#include <linux/gpio/machine.h> >>> #include <linux/tty.h> >>> #include <linux/interrupt.h> >>> #include <linux/dmi.h> >>> @@ -870,7 +871,23 @@ static int bcm_resume(struct device *dev) >>> #endif >>> >>> /* Some firmware reports an IRQ which does not work (wrong pin in fw table?) */ >>> +static struct gpiod_lookup_table asus_tf103c_irq_gpios = { >>> + .dev_id = "serial0-0", >> >> do you need this one? I assume it could be easily enumerated as serial1-0 if you are unlucky. > > Yes there can be multiple global gpiod_lookup_table-s registered > and the gpiolib code finds the one to use be matching this field > to the dev_name() for the device passed to gpiod_get(). > > I'm not worried about this getting enumerated with another dev_name(), > this is a tablet with no ways to add extra serial-bus devices and > there is only the 1 serial-bus device. is there no other way to match this device? Regards Marcel