Hi Russel:
On 2014年12月04日 07:40, Russell King - ARM Linux wrote:
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.

  got it, thanks, and also many thanks for Philipp


_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to