On 24/01/2023 17:44, Manuel Traut wrote: > 'input: pwm-beeper: add feature to set volume via sysfs' adds device > attributes without removing them on error or if the module is unloaded. > > This change removes the device attributes on module unloading or if Do not use "This commit/patch". https://elixir.bootlin.com/linux/v5.17.1/source/Documentation/process/submitting-patches.rst#L95 > registering on the input subsystem fails. > > If the module will be unloaded and loaded again it fails: > [ 1007.918180] sysfs: cannot create duplicate filename '/devices/platform/buzzer/volume' > > Signed-off-by: Manuel Traut <manuel.traut@xxxxxx> > --- > drivers/input/misc/pwm-beeper.c | 13 +++++++++++++ > 1 file changed, 13 insertions(+) > > diff --git a/drivers/input/misc/pwm-beeper.c b/drivers/input/misc/pwm-beeper.c > index fe543c4151d6..8ef2937e8f21 100644 > --- a/drivers/input/misc/pwm-beeper.c > +++ b/drivers/input/misc/pwm-beeper.c > @@ -300,6 +300,7 @@ static int pwm_beeper_probe(struct platform_device *pdev) > > error = input_register_device(beeper->input); > if (error) { > + sysfs_remove_group(&pdev->dev.kobj, &pwm_beeper_attribute_group); > dev_err(dev, "Failed to register input device: %d\n", error); > return error; > } > @@ -309,6 +310,17 @@ static int pwm_beeper_probe(struct platform_device *pdev) > return 0; > } > > +static int pwm_beeper_remove(struct platform_device *pdev) > +{ > + struct pwm_beeper *beeper; > + > + beeper = platform_get_drvdata(pdev); Wrong indentation. Please run scripts/checkpatch.pl and fix reported warnings. > + input_unregister_device(beeper->input); Best regards, Krzysztof