Skip to content

Commit 418188d

Browse files
committed
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>
2 parents 815cdfa + d8385d7 commit 418188d

1 file changed

Lines changed: 8 additions & 11 deletions

File tree

drivers/firmware/meson/meson_sm.c

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -274,14 +274,11 @@ static ssize_t serial_show(struct device *dev, struct device_attribute *attr,
274274

275275
static DEVICE_ATTR_RO(serial);
276276

277-
static struct attribute *meson_sm_sysfs_attributes[] = {
277+
static struct attribute *meson_sm_sysfs_attrs[] = {
278278
&dev_attr_serial.attr,
279279
NULL,
280280
};
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);
285282

286283
static const struct of_device_id meson_sm_ids[] = {
287284
{ .compatible = "amlogic,meson-gxbb-sm", .data = &gxbb_chip },
@@ -313,24 +310,23 @@ static int __init meson_sm_probe(struct platform_device *pdev)
313310
fw->sm_shmem_out_base = meson_sm_map_shmem(chip->cmd_shmem_out_base,
314311
chip->shmem_size);
315312
if (WARN_ON(!fw->sm_shmem_out_base))
316-
goto out_in_base;
313+
goto unmap_in_base;
317314
}
318315

319316
fw->chip = chip;
320317

321318
platform_set_drvdata(pdev, fw);
322319

323320
if (devm_of_platform_populate(dev))
324-
goto out_in_base;
325-
326-
if (sysfs_create_group(&pdev->dev.kobj, &meson_sm_sysfs_attr_group))
327-
goto out_in_base;
321+
goto unmap_out_base;
328322

329323
pr_info("secure-monitor enabled\n");
330324

331325
return 0;
332326

333-
out_in_base:
327+
unmap_out_base:
328+
iounmap(fw->sm_shmem_out_base);
329+
unmap_in_base:
334330
iounmap(fw->sm_shmem_in_base);
335331
out:
336332
return -EINVAL;
@@ -340,6 +336,7 @@ static struct platform_driver meson_sm_driver = {
340336
.driver = {
341337
.name = "meson-sm",
342338
.of_match_table = of_match_ptr(meson_sm_ids),
339+
.dev_groups = meson_sm_sysfs_groups,
343340
},
344341
};
345342
module_platform_driver_probe(meson_sm_driver, meson_sm_probe);

0 commit comments

Comments
 (0)