Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge tag 'amlogic-drivers-for-v6.8' of https://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux into soc/drivers

Amlogic drivers changes for v6.8:
- meson-sm: unmap out_base shmem in error path
- meson-sm: use dev_groups attrs for sysfs entries

* tag 'amlogic-drivers-for-v6.8' of https://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux:
firmware: meson-sm: unmap out_base shmem in error path
firmware: meson_sm: refactor serial sysfs entry via dev_groups attrs

Link: https://lore.kernel.org/r/a987f881-1c23-4528-9cb1-e5a875b7e7a8@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>

+8 -11
+8 -11
drivers/firmware/meson/meson_sm.c
··· 274 274 275 275 static DEVICE_ATTR_RO(serial); 276 276 277 - static struct attribute *meson_sm_sysfs_attributes[] = { 277 + static struct attribute *meson_sm_sysfs_attrs[] = { 278 278 &dev_attr_serial.attr, 279 279 NULL, 280 280 }; 281 - 282 - static const struct attribute_group meson_sm_sysfs_attr_group = { 283 - .attrs = meson_sm_sysfs_attributes, 284 - }; 281 + ATTRIBUTE_GROUPS(meson_sm_sysfs); 285 282 286 283 static const struct of_device_id meson_sm_ids[] = { 287 284 { .compatible = "amlogic,meson-gxbb-sm", .data = &gxbb_chip }, ··· 310 313 fw->sm_shmem_out_base = meson_sm_map_shmem(chip->cmd_shmem_out_base, 311 314 chip->shmem_size); 312 315 if (WARN_ON(!fw->sm_shmem_out_base)) 313 - goto out_in_base; 316 + goto unmap_in_base; 314 317 } 315 318 316 319 fw->chip = chip; ··· 318 321 platform_set_drvdata(pdev, fw); 319 322 320 323 if (devm_of_platform_populate(dev)) 321 - goto out_in_base; 322 - 323 - if (sysfs_create_group(&pdev->dev.kobj, &meson_sm_sysfs_attr_group)) 324 - goto out_in_base; 324 + goto unmap_out_base; 325 325 326 326 pr_info("secure-monitor enabled\n"); 327 327 328 328 return 0; 329 329 330 - out_in_base: 330 + unmap_out_base: 331 + iounmap(fw->sm_shmem_out_base); 332 + unmap_in_base: 331 333 iounmap(fw->sm_shmem_in_base); 332 334 out: 333 335 return -EINVAL; ··· 336 340 .driver = { 337 341 .name = "meson-sm", 338 342 .of_match_table = of_match_ptr(meson_sm_ids), 343 + .dev_groups = meson_sm_sysfs_groups, 339 344 }, 340 345 }; 341 346 module_platform_driver_probe(meson_sm_driver, meson_sm_probe);