All of lore.kernel.org
 help / color / mirror / Atom feed
* backlight - chicken and egg challenge
@ 2018-09-08 20:17 Sam Ravnborg
  2018-09-08 21:23 ` Daniel Vetter
  2018-09-10  7:27 ` Boris Brezillon
  0 siblings, 2 replies; 5+ messages in thread
From: Sam Ravnborg @ 2018-09-08 20:17 UTC (permalink / raw)
  To: dri-devel; +Cc: Boris Brezillon

Hi all.

When working on the DRM driver for Atmel LCDC the first approach
was to use a MFD driver, that had two sub-drivers:
- PWM dirver
- DRM driver

Feedback was that the PWM feature was too small to warrant a MFD driver.
(There was no consencus on this, but I anyway went ahead).

So the new approch is much simpler (from a code point of view):
DRM Driver that has one sub-driver
- PWM driver
  The PWM driver uses registers in the same memory
  range as the DRM driver, so the two drivers uses
  the same regmap.

  The PWM driver is located in pwm/
  The DRM driver is located in gpu/drm/atmel
    The DRM driver uses platform_device_register_data() to
    register the sub-device/driver.
    I have yet to see it work, but I think this is the right way
    to do it.

This all looked fine until reality kicked in.


There is the following dependency chain (=> depends on):
DRM Driver => Panel => Backlight => PWM => DRM Driver

The DRM Driver rely indirectly on the DRM driver, which it not OK.

So the open question is how to fix this dependency challenge?

1) Drop the generic backlight driver and implement all pwm/backlight
   handling in the driver.
2) Re-introduce the MFD driver.
3) ?

Any good ideas?

	Sam
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2018-09-11 12:56 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-09-08 20:17 backlight - chicken and egg challenge Sam Ravnborg
2018-09-08 21:23 ` Daniel Vetter
2018-09-08 22:38   ` Sam Ravnborg
2018-09-10  7:27 ` Boris Brezillon
2018-09-11 12:48   ` Liviu Dudau

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.