From b96c22476ff4bc3459933f87ba52cbb7910ffc6b Mon Sep 17 00:00:00 2001 From: Mark Brown Date: Thu, 24 Aug 2023 23:48:22 +0100 Subject: [PATCH] regulator: userspace-consumer: Drop event support for this cycle Drop commit 22475bcc2083 ("regulator: userspace-consumer: Add regulator event support") since Zev Weiss points out that it leaks the constants we use for notifications out as ABI which isn't ideal, we should have something more abstracted there. There's a definite need for this feature but it needs some more work on the interface. Signed-off-by: Mark Brown events; - data->events = 0; - mutex_unlock(&events_lock); - - return sprintf(buf, "0x%lx\n", e); -} - static DEVICE_ATTR_RO(name); static DEVICE_ATTR_RW(state); -static DEVICE_ATTR_RO(events); static struct attribute *attributes[] = { &dev_attr_name.attr, &dev_attr_state.attr, - &dev_attr_events.attr, NULL, }; @@ -137,28 +115,12 @@ static const struct attribute_group attr_group = { .is_visible = attr_visible, }; -static int regulator_userspace_notify(struct notifier_block *nb, - unsigned long event, - void *ignored) -{ - struct userspace_consumer_data *data = - container_of(nb, struct userspace_consumer_data, nb); - - mutex_lock(&events_lock); - data->events |= event; - mutex_unlock(&events_lock); - - sysfs_notify(data->kobj, NULL, dev_attr_events.attr.name); - - return NOTIFY_OK; -} - static int regulator_userspace_consumer_probe(struct platform_device *pdev) { struct regulator_userspace_consumer_data tmpdata; struct regulator_userspace_consumer_data *pdata; struct userspace_consumer_data *drvdata; - int i, ret; + int ret; pdata = dev_get_platdata(&pdev->dev); if (!pdata) { @@ -191,7 +153,6 @@ static int regulator_userspace_consumer_probe(struct platform_device *pdev) drvdata->num_supplies = pdata->num_supplies; drvdata->supplies = pdata->supplies; drvdata->no_autoswitch = pdata->no_autoswitch; - drvdata->kobj = &pdev->dev.kobj; mutex_init(&drvdata->lock); @@ -225,13 +186,6 @@ static int regulator_userspace_consumer_probe(struct platform_device *pdev) } drvdata->enabled = !!ret; - drvdata->nb.notifier_call = regulator_userspace_notify; - for (i = 0; i < drvdata->num_supplies; i++) { - ret = devm_regulator_register_notifier(drvdata->supplies[i].consumer, &drvdata->nb); - if (ret) - goto err_enable; - } - return 0; err_enable: @@ -243,10 +197,6 @@ err_enable: static int regulator_userspace_consumer_remove(struct platform_device *pdev) { struct userspace_consumer_data *data = platform_get_drvdata(pdev); - int i; - - for (i = 0; i < data->num_supplies; i++) - devm_regulator_unregister_notifier(data->supplies[i].consumer, &data->nb); sysfs_remove_group(&pdev->dev.kobj, &attr_group); -- 2.7.4