Skip to content

Commit 83fdf93

Browse files
Hans de Goedeij-intel
authored andcommitted
platform/x86: x86-android-tablets: Fix modules lists for Lenovo devices
2 fixes for Lenovo tablets: - The bq24190 charger on the Lenovo Yoga Tab2 830/1050 devices does not use the crystal-cove PMIC charger IRQ, so these shouldn't use bq24190_modules as that includes "intel_crystal_cove_charger" - Both the Tab2 and the Tab3 devices have a SPI audio-codec which init() attaches properties to, resp. the whole SPI device gets instantiated by the x86-android-tablets code. This requires the "spi_pxa2xx_platform" module to be loaded before init() runs Reviewed-by: Andy Shevchenko <andy@kernel.org> Signed-off-by: Hans de Goede <hansg@kernel.org> Link: https://patch.msgid.link/20250920200713.20193-20-hansg@kernel.org Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
1 parent 6b4bc14 commit 83fdf93

1 file changed

Lines changed: 14 additions & 7 deletions

File tree

  • drivers/platform/x86/x86-android-tablets

drivers/platform/x86/x86-android-tablets/lenovo.c

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -443,14 +443,20 @@ static const struct software_node *lenovo_yoga_tab2_830_1050_swnodes[] = {
443443
static int __init lenovo_yoga_tab2_830_1050_init(struct device *dev);
444444
static void lenovo_yoga_tab2_830_1050_exit(void);
445445

446+
static const char * const lenovo_yoga_tab2_modules[] __initconst = {
447+
"spi_pxa2xx_platform", /* For the SPI codec device */
448+
"bq24190_charger", /* For the Vbus regulator for int3496/lc824206xa */
449+
NULL
450+
};
451+
446452
const struct x86_dev_info lenovo_yoga_tab2_830_1050_info __initconst = {
447453
.i2c_client_info = lenovo_yoga_tab2_830_1050_i2c_clients,
448454
.i2c_client_count = ARRAY_SIZE(lenovo_yoga_tab2_830_1050_i2c_clients),
449455
.pdev_info = lenovo_yoga_tab2_830_1050_pdevs,
450456
.pdev_count = ARRAY_SIZE(lenovo_yoga_tab2_830_1050_pdevs),
451457
.gpio_button_swnodes = lenovo_yoga_tab2_830_1050_lid_swnodes,
452458
.swnode_group = lenovo_yoga_tab2_830_1050_swnodes,
453-
.modules = bq24190_modules,
459+
.modules = lenovo_yoga_tab2_modules,
454460
.gpiochip_type = X86_GPIOCHIP_BAYTRAIL,
455461
.init = lenovo_yoga_tab2_830_1050_init,
456462
.exit = lenovo_yoga_tab2_830_1050_exit,
@@ -767,11 +773,6 @@ static const struct platform_device_info lenovo_yoga_tab2_1380_pdevs[] __initcon
767773
},
768774
};
769775

770-
static const char * const lenovo_yoga_tab2_1380_modules[] __initconst = {
771-
"bq24190_charger", /* For the Vbus regulator for lc824206xa */
772-
NULL
773-
};
774-
775776
static int __init lenovo_yoga_tab2_1380_init(struct device *dev)
776777
{
777778
int ret;
@@ -800,7 +801,7 @@ const struct x86_dev_info lenovo_yoga_tab2_1380_info __initconst = {
800801
.pdev_count = ARRAY_SIZE(lenovo_yoga_tab2_1380_pdevs),
801802
.gpio_button_swnodes = lenovo_yoga_tab2_830_1050_lid_swnodes,
802803
.swnode_group = lenovo_yoga_tab2_830_1050_swnodes,
803-
.modules = lenovo_yoga_tab2_1380_modules,
804+
.modules = lenovo_yoga_tab2_modules,
804805
.gpiochip_type = X86_GPIOCHIP_BAYTRAIL,
805806
.init = lenovo_yoga_tab2_1380_init,
806807
.exit = lenovo_yoga_tab2_830_1050_exit,
@@ -1061,12 +1062,18 @@ static int __init lenovo_yt3_init(struct device *dev)
10611062
return 0;
10621063
}
10631064

1065+
static const char * const lenovo_yt3_modules[] __initconst = {
1066+
"spi_pxa2xx_platform", /* For the SPI codec device */
1067+
NULL
1068+
};
1069+
10641070
const struct x86_dev_info lenovo_yt3_info __initconst = {
10651071
.i2c_client_info = lenovo_yt3_i2c_clients,
10661072
.i2c_client_count = ARRAY_SIZE(lenovo_yt3_i2c_clients),
10671073
.spi_dev_info = lenovo_yt3_spi_devs,
10681074
.spi_dev_count = ARRAY_SIZE(lenovo_yt3_spi_devs),
10691075
.swnode_group = lenovo_yt3_swnodes,
1076+
.modules = lenovo_yt3_modules,
10701077
.gpiochip_type = X86_GPIOCHIP_CHERRYVIEW,
10711078
.init = lenovo_yt3_init,
10721079
};

0 commit comments

Comments
 (0)