Commit 88f3771491aa5e missed to set CONFIG_GPIO_AXP209=m. --- baseconfig/x86/x86_64/CONFIG_GPIO_AXP209 | 2 +- kernel-x86_64-debug.config | 2 +- kernel-x86_64.config | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/baseconfig/x86/x86_64/CONFIG_GPIO_AXP209 b/baseconfig/x86/x86_64/CONFIG_GPIO_AXP209 index c716822..2365ae7 100644 --- a/baseconfig/x86/x86_64/CONFIG_GPIO_AXP209 +++ b/baseconfig/x86/x86_64/CONFIG_GPIO_AXP209 @@ -1 +1 @@ -# CONFIG_GPIO_AXP209 is not set +CONFIG_GPIO_AXP209=m diff --git a/kernel-x86_64-debug.config b/kernel-x86_64-debug.config index 1f9baba..264bac2 100644 --- a/kernel-x86_64-debug.config +++ b/kernel-x86_64-debug.config @@ -1629,7 +1629,7 @@ CONFIG_GIRBIL_DONGLE=m # CONFIG_GPIO_ALTERA is not set # CONFIG_GPIO_AMD8111 is not set # CONFIG_GPIO_AMDPT is not set -# CONFIG_GPIO_AXP209 is not set +CONFIG_GPIO_AXP209=m # CONFIG_GPIO_BT8XX is not set CONFIG_GPIO_CRYSTAL_COVE=y # CONFIG_GPIO_CS5535 is not set diff --git a/kernel-x86_64.config b/kernel-x86_64.config index 2b589dc..a6d8784 100644 --- a/kernel-x86_64.config +++ b/kernel-x86_64.config @@ -1611,7 +1611,7 @@ CONFIG_GIRBIL_DONGLE=m # CONFIG_GPIO_ALTERA is not set # CONFIG_GPIO_AMD8111 is not set # CONFIG_GPIO_AMDPT is not set -# CONFIG_GPIO_AXP209 is not set +CONFIG_GPIO_AXP209=m # CONFIG_GPIO_BT8XX is not set CONFIG_GPIO_CRYSTAL_COVE=y # CONFIG_GPIO_CS5535 is not set
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 ?
Regards,
Hans
baseconfig/x86/x86_64/CONFIG_GPIO_AXP209 | 2 +- kernel-x86_64-debug.config | 2 +- kernel-x86_64.config | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/baseconfig/x86/x86_64/CONFIG_GPIO_AXP209 b/baseconfig/x86/x86_64/CONFIG_GPIO_AXP209 index c716822..2365ae7 100644 --- a/baseconfig/x86/x86_64/CONFIG_GPIO_AXP209 +++ b/baseconfig/x86/x86_64/CONFIG_GPIO_AXP209 @@ -1 +1 @@ -# CONFIG_GPIO_AXP209 is not set +CONFIG_GPIO_AXP209=m diff --git a/kernel-x86_64-debug.config b/kernel-x86_64-debug.config index 1f9baba..264bac2 100644 --- a/kernel-x86_64-debug.config +++ b/kernel-x86_64-debug.config @@ -1629,7 +1629,7 @@ CONFIG_GIRBIL_DONGLE=m # CONFIG_GPIO_ALTERA is not set # CONFIG_GPIO_AMD8111 is not set # CONFIG_GPIO_AMDPT is not set -# CONFIG_GPIO_AXP209 is not set +CONFIG_GPIO_AXP209=m # CONFIG_GPIO_BT8XX is not set CONFIG_GPIO_CRYSTAL_COVE=y # CONFIG_GPIO_CS5535 is not set diff --git a/kernel-x86_64.config b/kernel-x86_64.config index 2b589dc..a6d8784 100644 --- a/kernel-x86_64.config +++ b/kernel-x86_64.config @@ -1611,7 +1611,7 @@ CONFIG_GIRBIL_DONGLE=m # CONFIG_GPIO_ALTERA is not set # CONFIG_GPIO_AMD8111 is not set # CONFIG_GPIO_AMDPT is not set -# CONFIG_GPIO_AXP209 is not set +CONFIG_GPIO_AXP209=m # CONFIG_GPIO_BT8XX is not set CONFIG_GPIO_CRYSTAL_COVE=y # CONFIG_GPIO_CS5535 is not set
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
kernel@lists.fedoraproject.org