Skip to content

Commit b96c224

Browse files
committed
regulator: userspace-consumer: Drop event support for this cycle
Drop commit 22475bc ("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 <broonie@kernel.org Link: https://lore.kernel.org/r/20230824-regulator-remove-status-sysfs-v1-1-554956e8c1ca@kernel.org Signed-off-by: Mark Brown <broonie@kernel.org
1 parent 21cc7f8 commit b96c224

File tree

1 file changed

+1
-51
lines changed

1 file changed

+1
-51
lines changed

drivers/regulator/userspace-consumer.c

Lines changed: 1 addition & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,6 @@ struct userspace_consumer_data {
2929

3030
int num_supplies;
3131
struct regulator_bulk_data *supplies;
32-
33-
struct kobject *kobj;
34-
struct notifier_block nb;
35-
unsigned long events;
3632
};
3733

3834
static ssize_t name_show(struct device *dev,
@@ -93,30 +89,12 @@ static ssize_t state_store(struct device *dev, struct device_attribute *attr,
9389
return count;
9490
}
9591

96-
static DEFINE_MUTEX(events_lock);
97-
98-
static ssize_t events_show(struct device *dev,
99-
struct device_attribute *attr, char *buf)
100-
{
101-
struct userspace_consumer_data *data = dev_get_drvdata(dev);
102-
unsigned long e;
103-
104-
mutex_lock(&events_lock);
105-
e = data->events;
106-
data->events = 0;
107-
mutex_unlock(&events_lock);
108-
109-
return sprintf(buf, "0x%lx\n", e);
110-
}
111-
11292
static DEVICE_ATTR_RO(name);
11393
static DEVICE_ATTR_RW(state);
114-
static DEVICE_ATTR_RO(events);
11594

11695
static struct attribute *attributes[] = {
11796
&dev_attr_name.attr,
11897
&dev_attr_state.attr,
119-
&dev_attr_events.attr,
12098
NULL,
12199
};
122100

@@ -137,28 +115,12 @@ static const struct attribute_group attr_group = {
137115
.is_visible = attr_visible,
138116
};
139117

140-
static int regulator_userspace_notify(struct notifier_block *nb,
141-
unsigned long event,
142-
void *ignored)
143-
{
144-
struct userspace_consumer_data *data =
145-
container_of(nb, struct userspace_consumer_data, nb);
146-
147-
mutex_lock(&events_lock);
148-
data->events |= event;
149-
mutex_unlock(&events_lock);
150-
151-
sysfs_notify(data->kobj, NULL, dev_attr_events.attr.name);
152-
153-
return NOTIFY_OK;
154-
}
155-
156118
static int regulator_userspace_consumer_probe(struct platform_device *pdev)
157119
{
158120
struct regulator_userspace_consumer_data tmpdata;
159121
struct regulator_userspace_consumer_data *pdata;
160122
struct userspace_consumer_data *drvdata;
161-
int i, ret;
123+
int ret;
162124

163125
pdata = dev_get_platdata(&pdev->dev);
164126
if (!pdata) {
@@ -191,7 +153,6 @@ static int regulator_userspace_consumer_probe(struct platform_device *pdev)
191153
drvdata->num_supplies = pdata->num_supplies;
192154
drvdata->supplies = pdata->supplies;
193155
drvdata->no_autoswitch = pdata->no_autoswitch;
194-
drvdata->kobj = &pdev->dev.kobj;
195156

196157
mutex_init(&drvdata->lock);
197158

@@ -225,13 +186,6 @@ static int regulator_userspace_consumer_probe(struct platform_device *pdev)
225186
}
226187
drvdata->enabled = !!ret;
227188

228-
drvdata->nb.notifier_call = regulator_userspace_notify;
229-
for (i = 0; i < drvdata->num_supplies; i++) {
230-
ret = devm_regulator_register_notifier(drvdata->supplies[i].consumer, &drvdata->nb);
231-
if (ret)
232-
goto err_enable;
233-
}
234-
235189
return 0;
236190

237191
err_enable:
@@ -243,10 +197,6 @@ static int regulator_userspace_consumer_probe(struct platform_device *pdev)
243197
static int regulator_userspace_consumer_remove(struct platform_device *pdev)
244198
{
245199
struct userspace_consumer_data *data = platform_get_drvdata(pdev);
246-
int i;
247-
248-
for (i = 0; i < data->num_supplies; i++)
249-
devm_regulator_unregister_notifier(data->supplies[i].consumer, &data->nb);
250200

251201
sysfs_remove_group(&pdev->dev.kobj, &attr_group);
252202

0 commit comments

Comments
 (0)