Re: [PATCH v10 3/8] platform/x86: int3472: tps68470: move Windows MFD setup below the device-type switch

From: Andy Shevchenko

Date: Tue Sep 01 2026 - 06:57:27 EST


On Mon, Aug 31, 2026 at 06:07:49PM +0200, Thierry Chatard wrote:
> The Windows path looks up the board data, builds the tps68470-clk
> platform data and registers the MFD cells; none of this is needed for the
> ChromeOS path, which registers its own cells. Move that handling out of
> the switch and let the ChromeOS case return directly, so the Windows-only
> work is no longer done for ChromeOS and the function reads top to bottom.
>
> While moving the code, use a local struct device *dev to shorten the many
> &client->dev references, and return -ENODATA (rather than -ENODEV) when no
> board data matches this machine, to distinguish it from a missing device.

These all have to be split to the separate logical changes.

> No functional change for either path.

...

> static int skl_int3472_tps68470_probe(struct i2c_client *client)
> {
> - struct acpi_device *adev = ACPI_COMPANION(&client->dev);
> const struct int3472_tps68470_board_data *board_data;
> struct tps68470_clk_platform_data *clk_pdata;
> + struct acpi_device *adev;
> struct mfd_cell *cells;
> struct regmap *regmap;
> + struct device *dev;
> int n_consumers;
> int device_type;
> unsigned int i;
> int ret;
>
> + dev = &client->dev;

This one is not getting validated, hence it's fine to assign directly above

struct device *dev = &client->dev;


> + adev = ACPI_COMPANION(dev);
> if (!adev)
> return -ENODEV;

...

> regmap = devm_regmap_init_i2c(client, &tps68470_regmap_config);
> if (IS_ERR(regmap)) {
> - dev_err(&client->dev, "Failed to create regmap: %ld\n", PTR_ERR(regmap));
> + dev_err(dev, "Failed to create regmap: %ld\n", PTR_ERR(regmap));
> return PTR_ERR(regmap);
> }

This should be replaced with return dev_err_probe() in a separate change.

> i2c_set_clientdata(client, regmap);
>
> - ret = tps68470_chip_init(&client->dev, regmap);
> + ret = tps68470_chip_init(dev, regmap);
> if (ret < 0) {
> - dev_err(&client->dev, "TPS68470 init error %d\n", ret);
> + dev_err(dev, "TPS68470 init error %d\n", ret);
> return ret;
> }

This is as well. And replacing &client->dev by dev should be in a separate
patch.

--
With Best Regards,
Andy Shevchenko