On Thu, Dec 04, 2014 at 12:56:24AM +0800, Andy Yan wrote: > Hi Russell: > On 2014年12月04日 00:33, Russell King - ARM Linux wrote: > >On Thu, Dec 04, 2014 at 12:30:23AM +0800, Andy Yan wrote: > >>On 2014年12月04日 00:11, Russell King - ARM Linux wrote: > >>>I meant that imx_hdmi_bind should be passed these, so that it needs to > >>>know nothing about the struct device beyond the generic device structure. > >>>In other words, the dw-hdmi core should not assume that the struct device > >>>is part of a platform device. > >>> > >> if so, how about the device tree properties ddc-i2c-bus, reg-io-width, > >>iahb, isfr, > >> they are all found by device? > >If the device has a device tree node associated with it, it will have a > >non-NULL dev->of_node - which is part of the generic device structure. > > > so , I just need get the resource and irq number in the > dw_hdmi-imx/rockchip ,than > pass them to imx_hdmi_bind, as the properties ddc-i2c-bus, reg-io-width, > iahb,isfr, they > are still can be handled in imx_hdmi_bind ? Basically, what I'm suggesting is just this change to imx_hdmi_bind(): int imx_hdmi_bind(struct device *dev, struct device *master, void *data, struct drm_encoder *encoder, + const struct resource *iores, int irq, const struct imx_hdmi_plat_data *plat_data) { - struct platform_device *pdev = to_platform_device(dev); ... } - irq = platform_get_irq(pdev, 0); if (irq < 0) return irq; ... return ret; - iores = platform_get_resource(pdev, IORESOURCE_MEM, 0); hdmi->regs = devm_ioremap_resource(dev, iores); if (IS_ERR(hdmi->regs)) and supplying those as arguments from the caller. -- FTTC broadband for 0.8mile line: currently at 9.5Mbps down 400kbps up according to speedtest.net. _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel