On 2017-07-05 16:02, Hans de Goede wrote:
Hi,
On 05-07-17 11:55, Stefan Assmann wrote:
Commit 88f3771491aa5e missed to set CONFIG_GPIO_AXP209=m.
That was on purpose, because it does not do anything, the gpio-axp209.c driver has:
static const struct of_device_id axp20x_gpio_match[] = { { .compatible = "x-powers,axp209-gpio" }, { } };
Not relevant, x86 does not have of, so we get standard platform bus binding by driver name:
.driver = { .name = "axp20x-gpio", .of_match_table = axp20x_gpio_match, },
The axp288 PMIC uses MFD which instantiates platform devices for each child function of the PMIC, for the 288 this is done using this MFD cell list:
static struct mfd_cell axp288_cells[] = { { .name = "axp288_adc", .num_resources = ARRAY_SIZE(axp288_adc_resources), .resources = axp288_adc_resources, }, { .name = "axp288_extcon", .num_resources = ARRAY_SIZE(axp288_extcon_resources), .resources = axp288_extcon_resources, }, { .name = "axp288_charger", .num_resources = ARRAY_SIZE(axp288_charger_resources), .resources = axp288_charger_resources, }, { .name = "axp288_fuel_gauge", .num_resources = ARRAY_SIZE(axp288_fuel_gauge_resources), .resources = axp288_fuel_gauge_resources, }, { .name = "axp20x-pek", .num_resources = ARRAY_SIZE(axp288_power_button_resources), .resources = axp288_power_button_resources, }, { .name = "axp288_pmic_acpi", }, };
Note there is no cell named "axp20x-gpio" so enabling the driver for it is a NOP AFAICT.
TL;DR: Are you sure that enabling this makes any difference ?
Whoops, looks like I made a mistake there. Just confirmed that 4.12.0-1.fc27.x86_64 properly loads all the axp modules.
Sorry for the noise, please disregard.
Stefan