Re: [PATCH v2 1/2] iio: gyro: bmg160_spi: add of_match_table

From: Jonathan Cameron
Date: Sat Feb 22 2025 - 11:38:03 EST


On Fri, 21 Feb 2025 00:50:00 +0800
Jun Yan <jerrysteve1101@xxxxxxxxx> wrote:

> Add of_match_table to bmg160_spi driver.
>
> This fixes automatic driver loading by userspace
> When using the device tree and the driver is built
> as a module, devices can be probed.
Wrap patch descriptions at 75 chars as mentioned in submitting-patches.rst

>
> Signed-off-by: Jun Yan <jerrysteve1101@xxxxxxxxx>
Hi.

The patch content is fine, but I'm doubtful about the autoloading.
Did you actually try this and see a failure without this patch?

For SPI autoloading even with device tree compatibles should work without
the of_match_table though it will match against the compatible without
the bosch, part. Maybe I missed a change that means that no longer
works.

I in general don't mind the actual change because it does ensure
we have the manufacturer in the match as well so makes future
problems less likely.

Jonathan



> ---
> drivers/iio/gyro/bmg160_spi.c | 10 ++++++++++
> 1 file changed, 10 insertions(+)
>
> diff --git a/drivers/iio/gyro/bmg160_spi.c b/drivers/iio/gyro/bmg160_spi.c
> index fc2e453527b9..ac04b3b1b554 100644
> --- a/drivers/iio/gyro/bmg160_spi.c
> +++ b/drivers/iio/gyro/bmg160_spi.c
> @@ -41,9 +41,19 @@ static const struct spi_device_id bmg160_spi_id[] = {
>
> MODULE_DEVICE_TABLE(spi, bmg160_spi_id);
>
> +static const struct of_device_id bmg160_of_match[] = {
> + { .compatible = "bosch,bmg160" },
> + { .compatible = "bosch,bmi055_gyro" },
> + { .compatible = "bosch,bmi088_gyro" },
> + { }
> +};
> +
> +MODULE_DEVICE_TABLE(of, bmg160_of_match);
> +
> static struct spi_driver bmg160_spi_driver = {
> .driver = {
> .name = "bmg160_spi",
> + .of_match_table = bmg160_of_match,
> .pm = &bmg160_pm_ops,
> },
> .probe = bmg160_spi_probe,