diff options
| author | Mark Brown <broonie@kernel.org> | 2026-07-23 15:39:37 +0100 |
|---|---|---|
| committer | Mark Brown <broonie@kernel.org> | 2026-07-23 15:39:37 +0100 |
| commit | 81d2d64206f34982ccf17da1cf4c57a467a7cea2 (patch) | |
| tree | 8504a261942ae73bee043b22943925f8c02d9fe2 /drivers/platform | |
| parent | 73780dd57b6b7d8ee7c719c644c2306d52c054f8 (diff) | |
| parent | 17376e7311cdec252b61cb1ecec43be61907781b (diff) | |
| download | linux-next-81d2d64206f34982ccf17da1cf4c57a467a7cea2.tar.gz linux-next-81d2d64206f34982ccf17da1cf4c57a467a7cea2.zip | |
Merge branch 'for-next' of https://git.kernel.org/pub/scm/linux/kernel/git/chrome-platform/linux.git
Diffstat (limited to 'drivers/platform')
| -rw-r--r-- | drivers/platform/chrome/chromeos_of_hw_prober.c | 2 | ||||
| -rw-r--r-- | drivers/platform/chrome/cros_ec.c | 5 | ||||
| -rw-r--r-- | drivers/platform/chrome/cros_ec_chardev.c | 4 | ||||
| -rw-r--r-- | drivers/platform/chrome/cros_ec_debugfs.c | 4 | ||||
| -rw-r--r-- | drivers/platform/chrome/cros_ec_lightbar.c | 4 | ||||
| -rw-r--r-- | drivers/platform/chrome/cros_ec_sensorhub.c | 4 | ||||
| -rw-r--r-- | drivers/platform/chrome/cros_ec_sensorhub_ring.c | 28 | ||||
| -rw-r--r-- | drivers/platform/chrome/cros_ec_sysfs.c | 4 | ||||
| -rw-r--r-- | drivers/platform/chrome/cros_ec_typec.c | 6 | ||||
| -rw-r--r-- | drivers/platform/chrome/cros_ec_vbc.c | 4 | ||||
| -rw-r--r-- | drivers/platform/chrome/cros_kbd_led_backlight.c | 4 | ||||
| -rw-r--r-- | drivers/platform/chrome/cros_usbpd_logger.c | 4 | ||||
| -rw-r--r-- | drivers/platform/chrome/cros_usbpd_notify.c | 4 | ||||
| -rw-r--r-- | drivers/platform/chrome/wilco_ec/core.c | 4 | ||||
| -rw-r--r-- | drivers/platform/chrome/wilco_ec/debugfs.c | 4 | ||||
| -rw-r--r-- | drivers/platform/chrome/wilco_ec/telemetry.c | 4 |
16 files changed, 55 insertions, 34 deletions
diff --git a/drivers/platform/chrome/chromeos_of_hw_prober.c b/drivers/platform/chrome/chromeos_of_hw_prober.c index f3cd612e5584..8562a0e89dc6 100644 --- a/drivers/platform/chrome/chromeos_of_hw_prober.c +++ b/drivers/platform/chrome/chromeos_of_hw_prober.c @@ -100,7 +100,7 @@ static const struct hw_prober_entry hw_prober_platforms[] = { }, { .compatible = "google,spherion", .prober = chromeos_i2c_component_prober, - .data = &chromeos_i2c_probe_hana_trackpad, + .data = &chromeos_i2c_probe_dumb_trackpad, }, { .compatible = "google,squirtle", .prober = chromeos_i2c_component_prober, diff --git a/drivers/platform/chrome/cros_ec.c b/drivers/platform/chrome/cros_ec.c index 1da79e3d215b..5d0f5a9187b1 100644 --- a/drivers/platform/chrome/cros_ec.c +++ b/drivers/platform/chrome/cros_ec.c @@ -249,11 +249,8 @@ int cros_ec_register(struct cros_ec_device *ec_dev) cros_ec_irq_thread, IRQF_TRIGGER_LOW | IRQF_ONESHOT, "chromeos-ec", ec_dev); - if (err) { - dev_err(dev, "Failed to request IRQ %d: %d\n", - ec_dev->irq, err); + if (err) goto exit; - } } /* Register a platform device for the main EC instance */ diff --git a/drivers/platform/chrome/cros_ec_chardev.c b/drivers/platform/chrome/cros_ec_chardev.c index 399ab85b6191..18763947aaa7 100644 --- a/drivers/platform/chrome/cros_ec_chardev.c +++ b/drivers/platform/chrome/cros_ec_chardev.c @@ -484,8 +484,8 @@ static void cros_ec_chardev_remove(struct platform_device *pdev) } static const struct platform_device_id cros_ec_chardev_id[] = { - { DRV_NAME, 0 }, - {} + { .name = DRV_NAME }, + { } }; MODULE_DEVICE_TABLE(platform, cros_ec_chardev_id); diff --git a/drivers/platform/chrome/cros_ec_debugfs.c b/drivers/platform/chrome/cros_ec_debugfs.c index 139cab6fcba1..a1c76e6552f0 100644 --- a/drivers/platform/chrome/cros_ec_debugfs.c +++ b/drivers/platform/chrome/cros_ec_debugfs.c @@ -557,8 +557,8 @@ static SIMPLE_DEV_PM_OPS(cros_ec_debugfs_pm_ops, cros_ec_debugfs_suspend, cros_ec_debugfs_resume); static const struct platform_device_id cros_ec_debugfs_id[] = { - { DRV_NAME, 0 }, - {} + { .name = DRV_NAME }, + { } }; MODULE_DEVICE_TABLE(platform, cros_ec_debugfs_id); diff --git a/drivers/platform/chrome/cros_ec_lightbar.c b/drivers/platform/chrome/cros_ec_lightbar.c index ac919c14c631..b0a31c6ef5fd 100644 --- a/drivers/platform/chrome/cros_ec_lightbar.c +++ b/drivers/platform/chrome/cros_ec_lightbar.c @@ -683,8 +683,8 @@ static SIMPLE_DEV_PM_OPS(cros_ec_lightbar_pm_ops, cros_ec_lightbar_suspend, cros_ec_lightbar_resume); static const struct platform_device_id cros_ec_lightbar_id[] = { - { DRV_NAME, 0 }, - {} + { .name = DRV_NAME }, + { } }; MODULE_DEVICE_TABLE(platform, cros_ec_lightbar_id); diff --git a/drivers/platform/chrome/cros_ec_sensorhub.c b/drivers/platform/chrome/cros_ec_sensorhub.c index f7019fb80a76..a8395ab0a12a 100644 --- a/drivers/platform/chrome/cros_ec_sensorhub.c +++ b/drivers/platform/chrome/cros_ec_sensorhub.c @@ -267,8 +267,8 @@ static SIMPLE_DEV_PM_OPS(cros_ec_sensorhub_pm_ops, cros_ec_sensorhub_resume); static const struct platform_device_id cros_ec_sensorhub_id[] = { - { DRV_NAME, 0 }, - {} + { .name = DRV_NAME }, + { } }; MODULE_DEVICE_TABLE(platform, cros_ec_sensorhub_id); diff --git a/drivers/platform/chrome/cros_ec_sensorhub_ring.c b/drivers/platform/chrome/cros_ec_sensorhub_ring.c index a10579144c34..d92b60213720 100644 --- a/drivers/platform/chrome/cros_ec_sensorhub_ring.c +++ b/drivers/platform/chrome/cros_ec_sensorhub_ring.c @@ -475,6 +475,21 @@ cros_ec_sensor_ring_process_event(struct cros_ec_sensorhub *sensorhub, fifo_timestamp, *current_timestamp, now); + + /* + * A standalone timestamp event typically has a sensor_num of + * 0xff. Return early here to prevent it from hitting the + * bounds check below and spamming the logs. + */ + return false; + } + + /* Skip event if sensor_num from EC is out of bounds. */ + if (in->sensor_num >= sensorhub->sensor_num) { + dev_warn_ratelimited(sensorhub->dev, + "Invalid sensor number %u from EC\n", + in->sensor_num); + return false; } if (in->flags & MOTIONSENSE_SENSOR_FLAG_ODR) { @@ -502,10 +517,6 @@ cros_ec_sensor_ring_process_event(struct cros_ec_sensorhub *sensorhub, return true; } - if (in->flags & MOTIONSENSE_SENSOR_FLAG_TIMESTAMP) - /* If we just have a timestamp, skip this entry. */ - return false; - /* Regular sample */ out->sensor_id = in->sensor_num; trace_cros_ec_sensorhub_data(in->sensor_num, @@ -825,8 +836,15 @@ static void cros_ec_sensorhub_ring_handler(struct cros_ec_sensorhub *sensorhub) sensorhub->msg->outsize = 1; sensorhub->msg->insize = fifo_info_length; - if (cros_ec_cmd_xfer_status(ec->ec_dev, sensorhub->msg) < 0) + ret = cros_ec_cmd_xfer_status(ec->ec_dev, sensorhub->msg); + if (ret < 0) goto error; + if (ret != fifo_info_length) { + dev_warn_ratelimited(sensorhub->dev, + "Mismatch read length: size %d - expected %d\n", + ret, fifo_info_length); + goto error; + } memcpy(fifo_info, &sensorhub->resp->fifo_info, fifo_info_length); diff --git a/drivers/platform/chrome/cros_ec_sysfs.c b/drivers/platform/chrome/cros_ec_sysfs.c index b668a3cc118e..fad593df3b58 100644 --- a/drivers/platform/chrome/cros_ec_sysfs.c +++ b/drivers/platform/chrome/cros_ec_sysfs.c @@ -420,8 +420,8 @@ static void cros_ec_sysfs_remove(struct platform_device *pd) } static const struct platform_device_id cros_ec_sysfs_id[] = { - { DRV_NAME, 0 }, - {} + { .name = DRV_NAME }, + { } }; MODULE_DEVICE_TABLE(platform, cros_ec_sysfs_id); diff --git a/drivers/platform/chrome/cros_ec_typec.c b/drivers/platform/chrome/cros_ec_typec.c index c0806c562bb9..50a68819ceb7 100644 --- a/drivers/platform/chrome/cros_ec_typec.c +++ b/drivers/platform/chrome/cros_ec_typec.c @@ -1119,6 +1119,12 @@ static void cros_typec_register_partner_pdos(struct cros_typec_data *typec, if (!resp->source_cap_count && !resp->sink_cap_count) return; + if (resp->source_cap_count > PDO_MAX_OBJECTS || + resp->sink_cap_count > PDO_MAX_OBJECTS) { + dev_warn(typec->dev, "Invalid PDO count from EC, port: %d\n", port_num); + return; + } + port->partner_pd = typec_partner_usb_power_delivery_register(port->partner, &desc); if (IS_ERR(port->partner_pd)) { dev_warn(typec->dev, "Failed to register partner PD device, port: %d\n", port_num); diff --git a/drivers/platform/chrome/cros_ec_vbc.c b/drivers/platform/chrome/cros_ec_vbc.c index 061e84b32b04..c21e1f85f2fb 100644 --- a/drivers/platform/chrome/cros_ec_vbc.c +++ b/drivers/platform/chrome/cros_ec_vbc.c @@ -134,8 +134,8 @@ static void cros_ec_vbc_remove(struct platform_device *pd) } static const struct platform_device_id cros_ec_vbc_id[] = { - { DRV_NAME, 0 }, - {} + { .name = DRV_NAME }, + { } }; MODULE_DEVICE_TABLE(platform, cros_ec_vbc_id); diff --git a/drivers/platform/chrome/cros_kbd_led_backlight.c b/drivers/platform/chrome/cros_kbd_led_backlight.c index 906eb490e506..94888db1c00e 100644 --- a/drivers/platform/chrome/cros_kbd_led_backlight.c +++ b/drivers/platform/chrome/cros_kbd_led_backlight.c @@ -220,8 +220,8 @@ MODULE_DEVICE_TABLE(acpi, keyboard_led_acpi_match); #endif static const struct platform_device_id keyboard_led_id[] = { - { "cros-keyboard-leds", 0 }, - {} + { .name = "cros-keyboard-leds" }, + { } }; MODULE_DEVICE_TABLE(platform, keyboard_led_id); diff --git a/drivers/platform/chrome/cros_usbpd_logger.c b/drivers/platform/chrome/cros_usbpd_logger.c index 060a49f2b962..0eb714d679c8 100644 --- a/drivers/platform/chrome/cros_usbpd_logger.c +++ b/drivers/platform/chrome/cros_usbpd_logger.c @@ -248,8 +248,8 @@ static SIMPLE_DEV_PM_OPS(cros_usbpd_logger_pm_ops, cros_usbpd_logger_suspend, cros_usbpd_logger_resume); static const struct platform_device_id cros_usbpd_logger_id[] = { - { DRV_NAME, 0 }, - {} + { .name = DRV_NAME }, + { } }; MODULE_DEVICE_TABLE(platform, cros_usbpd_logger_id); diff --git a/drivers/platform/chrome/cros_usbpd_notify.c b/drivers/platform/chrome/cros_usbpd_notify.c index 828f00a3191b..d842c05f4db0 100644 --- a/drivers/platform/chrome/cros_usbpd_notify.c +++ b/drivers/platform/chrome/cros_usbpd_notify.c @@ -232,8 +232,8 @@ static void cros_usbpd_notify_remove_plat(struct platform_device *pdev) } static const struct platform_device_id cros_usbpd_notify_id[] = { - { DRV_NAME, 0 }, - {} + { .name = DRV_NAME }, + { } }; MODULE_DEVICE_TABLE(platform, cros_usbpd_notify_id); diff --git a/drivers/platform/chrome/wilco_ec/core.c b/drivers/platform/chrome/wilco_ec/core.c index fd2a9bc8327c..9d4521889d40 100644 --- a/drivers/platform/chrome/wilco_ec/core.c +++ b/drivers/platform/chrome/wilco_ec/core.c @@ -151,8 +151,8 @@ static const struct acpi_device_id wilco_ec_acpi_device_ids[] = { MODULE_DEVICE_TABLE(acpi, wilco_ec_acpi_device_ids); static const struct platform_device_id wilco_ec_id[] = { - { DRV_NAME, 0 }, - {} + { .name = DRV_NAME }, + { } }; MODULE_DEVICE_TABLE(platform, wilco_ec_id); diff --git a/drivers/platform/chrome/wilco_ec/debugfs.c b/drivers/platform/chrome/wilco_ec/debugfs.c index e43ad67b9bcb..32fb11939b9b 100644 --- a/drivers/platform/chrome/wilco_ec/debugfs.c +++ b/drivers/platform/chrome/wilco_ec/debugfs.c @@ -265,8 +265,8 @@ static void wilco_ec_debugfs_remove(struct platform_device *pdev) } static const struct platform_device_id wilco_ec_debugfs_id[] = { - { DRV_NAME, 0 }, - {} + { .name = DRV_NAME }, + { } }; MODULE_DEVICE_TABLE(platform, wilco_ec_debugfs_id); diff --git a/drivers/platform/chrome/wilco_ec/telemetry.c b/drivers/platform/chrome/wilco_ec/telemetry.c index 05e35d1b16a6..45be318b05f6 100644 --- a/drivers/platform/chrome/wilco_ec/telemetry.c +++ b/drivers/platform/chrome/wilco_ec/telemetry.c @@ -409,8 +409,8 @@ static void telem_device_remove(struct platform_device *pdev) } static const struct platform_device_id telem_id[] = { - { DRV_NAME, 0 }, - {} + { .name = DRV_NAME }, + { } }; MODULE_DEVICE_TABLE(platform, telem_id); |
