So the open question is how to fix this dependency challenge?
- Drop the generic backlight driver and implement all pwm/backlight handling in the driver.
- Re-introduce the MFD driver.
- ?
Any good ideas?
component.c should be able to cope. The driver that matches for the physical/platform device register the pwm thing, plus a component (for the drm driver, you can start with initializing the drm_device already, except for the panel). The panel registers the other component. the component master then does the final step of registering the overall drm_device.
Should all work, only bit you might need is a bit of drm_panel/component.c integration. Iirc there's been discussions about that, but no idea where they are stuck.
Sound reasonable, I will try to look into this. If anyone have pointers to the drm_panel/component.c integration discussions I expect this would be a good help.
Sam