On 08/03/14 13:41, Grant Likely wrote: >> Ok. If we go for single directional link, the question is then: which >> way? And is the direction different for display and camera, which are >> kind of reflections of each other? > > In general I would recommend choosing whichever device you would > sensibly think of as a master. In the camera case I would choose the > camera controller node instead of the camera itself, and in the display > case I would choose the display controller instead of the panel. The > binding author needs to choose what she things makes the most sense, but > drivers can still use if it it turns out to be 'backwards' I would perhaps choose the same approach, but at the same time I think it's all but clear. The display controller doesn't control the panel any more than a DMA controller controls, say, the display controller. In fact, in earlier versions of OMAP DSS DT support I had a simpler port description, and in that I had the panel as the master (i.e. link from panel to dispc) because the panel driver uses the display controller's features to provide the panel device a data stream. And even with the current OMAP DSS DT version, which uses the v4l2 style ports/endpoints, the driver model is still the same, and only links towards upstream are used. So one reason I'm happy with the dual-linking is that I can easily follow the links from the downstream entities to upstream entities, and other people, who have different driver model, can easily do the opposite. But I agree that single-linking is enough and this can be handled at runtime, even if it makes the code more complex. And perhaps requires extra data in the dts, to give the start points for the graph. Tomi
Attachment:
signature.asc
Description: OpenPGP digital signature