Re: [RFC PATCH 1/2] block: export block_class and disk_type symbols

Enzo Matsumiya
2021-05-03T02:38:03Z

On 05/01, Greg Kroah-Hartman wrote:
>On Fri, Apr 30, 2021 at 03:32:10PM -0300, Enzo Matsumiya wrote:
>> Export symbols to be used by _for_each_blk() helper in LED block
>> trigger.
>>
>> Signed-off-by: Enzo Matsumiya <ematsumiya@suse.de>
>> ---
>> block/genhd.c | 2 ++
>> 1 file changed, 2 insertions(+)
>>
>> diff --git a/block/genhd.c b/block/genhd.c
>> index 8c8f543572e6..516495179230 100644
>> --- a/block/genhd.c
>> +++ b/block/genhd.c
>> @@ -1218,6 +1218,7 @@ static void disk_release(struct device *dev)
>> struct class block_class = {
>> .name = "block",
>> };
>> +EXPORT_SYMBOL(block_class);
>>
>> static char *block_devnode(struct device *dev, umode_t *mode,
>> kuid_t *uid, kgid_t *gid)
>> @@ -1235,6 +1236,7 @@ const struct device_type disk_type = {
>> .release = disk_release,
>> .devnode = block_devnode,
>> };
>> +EXPORT_SYMBOL(disk_type);
>>
>> #ifdef CONFIG_PROC_FS
>> /*
>
>Please please no. These should not be needed by anything.
>
>And if they really do, they must be EXPORT_SYMBOL_GPL().
>
>thanks,
>
>greg k-h

Thanks. I was indeed skeptical about submitting this particular change.

Do you think it's more acceptable if I implement a for_each_blk() helper
(cf. patch 2 on this series) on block code?

I couldn't find any other way to do this (get all block devices on the
system), so please let me know if I missed something.

Cheers,

Enzo