drm/nouveau/bl: Assign different names to interfaces
authorPierre Moreau <pierre.morrow@free.fr>
Wed, 7 Dec 2016 23:57:08 +0000 (00:57 +0100)
committerBen Skeggs <bskeggs@redhat.com>
Tue, 13 Dec 2016 01:40:16 +0000 (11:40 +1000)
commitdb1a0ae21461afa4bc435651a6dd55e0e6ef4a8b
treea100b660d9b65be8d76e72e2501a24b8cb877410
parent79d48dadb0a71ec31ec8ce234ad0811a50123580
drm/nouveau/bl: Assign different names to interfaces

Currently, every backlight interface created by Nouveau uses the same name,
nv_backlight. This leads to a sysfs warning as it tries to create an already
existing folder. This patch adds a incremented number to the name, but keeps
the initial name as nv_backlight, to avoid possibly breaking userspace; the
second interface will be named nv_backlight1, and so on.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=86539

v2:
* Switch to using ida for generating unique IDs, as suggested by Ilia Mirkin;
* Allocate backlight name on the stack, as suggested by Ilia Mirkin;
* Move `nouveau_get_backlight_name()` to avoid forward declaration, as
  suggested by Ilia Mirkin;
* Fix reference to bug report formatting, as reported by Nick Tenney.

v3:
* Define a macro for the size of the backlight name, to avoid defining
  it multiple times;
* Use snprintf in place of sprintf.

v4:
* Do not create similarly named interfaces when reaching the maximum
  amount of unique names, but fail instead, as pointed out by Lukas Wunner

Signed-off-by: Pierre Moreau <pierre.morrow@free.fr>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
drivers/gpu/drm/nouveau/nouveau_backlight.c
drivers/gpu/drm/nouveau/nouveau_display.h
drivers/gpu/drm/nouveau/nouveau_drm.c
drivers/gpu/drm/nouveau/nouveau_drv.h