From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andy Yan Subject: Re: [PATCH v16 03/12] drm: imx: imx-hdmi: convert imx-hdmi to drm_bridge mode Date: Thu, 04 Dec 2014 00:04:37 +0800 Message-ID: <547F3495.9070206@rock-chips.com> References: <1417620408-30354-1-git-send-email-andy.yan@rock-chips.com> <1417620566-30496-1-git-send-email-andy.yan@rock-chips.com> <20141203153847.GC11285@n2100.arm.linux.org.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20141203153847.GC11285@n2100.arm.linux.org.uk> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: driverdev-devel-bounces@linuxdriverproject.org Sender: "devel" To: Russell King - ARM Linux Cc: Mark Rutland , heiko@sntech.de, airlied@linux.ie, dri-devel@lists.freedesktop.org, ykk@rock-chips.com, devel@driverdev.osuosl.org, Pawel Moll , linux-rockchip@lists.infradead.org, Grant Likely , Dave Airlie , jay.xu@rock-chips.com, devicetree@vger.kernel.org, Zubair.Kakakhel@imgtec.com, Arnd Bergmann , Ian Campbell , Inki Dae , Rob Herring , Sean Paul , mark.yao@rock-chips.com, fabio.estevam@freescale.com, Josh Boyer , Greg Kroah-Hartman , linux-kernel@vger.kernel.org, djkurtz@google.com, Philipp Zabel , Kumar Gala , Shawn Guo , vladimir_zapolskiy@mentor.com, Luc List-Id: devicetree@vger.kernel.org SGkgUnVzc2VsbDoKCk9uIDIwMTTlubQxMuaciDAz5pelIDIzOjM4LCBSdXNzZWxsIEtpbmcgLSBB Uk0gTGludXggd3JvdGU6Cj4gT24gV2VkLCBEZWMgMDMsIDIwMTQgYXQgMTE6Mjk6MjZQTSArMDgw MCwgQW5keSBZYW4gd3JvdGU6Cj4+ICtpbnQgaW14X2hkbWlfYmluZChzdHJ1Y3QgZGV2aWNlICpk ZXYsIHN0cnVjdCBkZXZpY2UgKm1hc3RlciwKPj4gKwkJICB2b2lkICpkYXRhLCBzdHJ1Y3QgZHJt X2VuY29kZXIgKmVuY29kZXIsCj4+ICsJCSAgY29uc3Qgc3RydWN0IGlteF9oZG1pX3BsYXRfZGF0 YSAqcGxhdF9kYXRhKQo+PiAgIHsKPj4gICAJc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiA9 IHRvX3BsYXRmb3JtX2RldmljZShkZXYpOwo+PiAtCWNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQg Km9mX2lkID0KPj4gLQkJCQlvZl9tYXRjaF9kZXZpY2UoaW14X2hkbWlfZHRfaWRzLCBkZXYpOwo+ PiAgIAlzdHJ1Y3QgZHJtX2RldmljZSAqZHJtID0gZGF0YTsKPj4gICAJc3RydWN0IGRldmljZV9u b2RlICpucCA9IGRldi0+b2Zfbm9kZTsKPj4gICAJc3RydWN0IGRldmljZV9ub2RlICpkZGNfbm9k ZTsKPj4gQEAgLTE1OTQsMTkgKzE1NjYsMTYgQEAgc3RhdGljIGludCBpbXhfaGRtaV9iaW5kKHN0 cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IGRldmljZSAqbWFzdGVyLCB2b2lkICpkYXRhKQo+PiAg IAlzdHJ1Y3QgcmVzb3VyY2UgKmlvcmVzOwo+PiAgIAlpbnQgcmV0LCBpcnE7Cj4+ICAgCj4+IC0J aGRtaSA9IGRldm1fa3phbGxvYyhkZXYsIHNpemVvZigqaGRtaSksIEdGUF9LRVJORUwpOwo+PiAr CWhkbWkgPSBkZXZtX2t6YWxsb2MoJnBkZXYtPmRldiwgc2l6ZW9mKCpoZG1pKSwgR0ZQX0tFUk5F TCk7Cj4+ICAgCWlmICghaGRtaSkKPj4gICAJCXJldHVybiAtRU5PTUVNOwo+PiAgIAo+PiAtCWhk bWktPmRldiA9IGRldjsKPj4gKwloZG1pLT5wbGF0X2RhdGEgPSBwbGF0X2RhdGE7Cj4+ICsJaGRt aS0+ZGV2ID0gJnBkZXYtPmRldjsKPj4gKwloZG1pLT5kZXZfdHlwZSA9IHBsYXRfZGF0YS0+ZGV2 X3R5cGU7Cj4+ICAgCWhkbWktPnNhbXBsZV9yYXRlID0gNDgwMDA7Cj4+ICAgCWhkbWktPnJhdGlv ID0gMTAwOwo+PiAtCj4+IC0JaWYgKG9mX2lkKSB7Cj4+IC0JCWNvbnN0IHN0cnVjdCBwbGF0Zm9y bV9kZXZpY2VfaWQgKmRldmljZV9pZCA9IG9mX2lkLT5kYXRhOwo+PiAtCj4+IC0JCWhkbWktPmRl dl90eXBlID0gZGV2aWNlX2lkLT5kcml2ZXJfZGF0YTsKPj4gLQl9Cj4+ICsJaGRtaS0+ZW5jb2Rl ciA9IGVuY29kZXI7Cj4gSSdkIHN1Z2dlc3QgY2hhbmdpbmcgaW14X2hkbWlfYmluZCgpIHRvIHRh a2UgdGhlIHN0cnVjdCByZXNvdXJjZSBhbmQgaXJxCj4gbnVtYmVyLCBhbmQgYXZvaWRpbmcgdGhl IHBsYXRmb3JtIGRldmljZSBzdHVmZiBhbHRvZ2V0aGVyIGluIGhlcmUuCj4KICAgIEFjdHVhbGx5 IHRoaXMgaXMgd2hhdCB0aGUgY3VycmVudCBjb2RlIGRvOiB0aGUgcmVzb3VyY2UgYW5kIGlycSBu dW1iZXIKYXJlIGFsbCBoYW5kbGVkIGluIGlteF9oZG1pX2JpbmQKCgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkZXZlbCBtYWlsaW5nIGxpc3QKZGV2ZWxA bGludXhkcml2ZXJwcm9qZWN0Lm9yZwpodHRwOi8vZHJpdmVyZGV2LmxpbnV4ZHJpdmVycHJvamVj dC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcml2ZXJkZXYtZGV2ZWwK From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752513AbaLCQEq (ORCPT ); Wed, 3 Dec 2014 11:04:46 -0500 Received: from lucky1.263xmail.com ([211.157.147.133]:52753 "EHLO lucky1.263xmail.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752399AbaLCQEo (ORCPT ); Wed, 3 Dec 2014 11:04:44 -0500 X-263anti-spam: KSV:0; X-MAIL-GRAY: 1 X-MAIL-DELIVERY: 0 X-KSVirus-check: 0 X-ABS-CHECKED: 4 X-RL-SENDER: andy.yan@rock-chips.com X-FST-TO: galak@codeaurora.org X-SENDER-IP: 121.15.173.1 X-LOGIN-NAME: andy.yan@rock-chips.com X-UNIQUE-TAG: X-ATTACHMENT-NUM: 0 X-DNS-TYPE: 0 Message-ID: <547F3495.9070206@rock-chips.com> Date: Thu, 04 Dec 2014 00:04:37 +0800 From: Andy Yan User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.0 MIME-Version: 1.0 To: Russell King - ARM Linux CC: airlied@linux.ie, Philipp Zabel , heiko@sntech.de, fabio.estevam@freescale.com, Greg Kroah-Hartman , Grant Likely , Rob Herring , Shawn Guo , Josh Boyer , Sean Paul , Inki Dae , Dave Airlie , Arnd Bergmann , Lucas Stach , Zubair.Kakakhel@imgtec.com, djkurtz@google.com, ykk@rock-chips.com, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, devel@driverdev.osuosl.org, devicetree@vger.kernel.org, linux-rockchip@lists.infradead.org, jay.xu@rock-chips.com, Pawel Moll , mark.yao@rock-chips.com, Mark Rutland , Ian Campbell , vladimir_zapolskiy@mentor.com, Kumar Gala Subject: Re: [PATCH v16 03/12] drm: imx: imx-hdmi: convert imx-hdmi to drm_bridge mode References: <1417620408-30354-1-git-send-email-andy.yan@rock-chips.com> <1417620566-30496-1-git-send-email-andy.yan@rock-chips.com> <20141203153847.GC11285@n2100.arm.linux.org.uk> In-Reply-To: <20141203153847.GC11285@n2100.arm.linux.org.uk> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Russell: On 2014年12月03日 23:38, Russell King - ARM Linux wrote: > On Wed, Dec 03, 2014 at 11:29:26PM +0800, Andy Yan wrote: >> +int imx_hdmi_bind(struct device *dev, struct device *master, >> + void *data, struct drm_encoder *encoder, >> + const struct imx_hdmi_plat_data *plat_data) >> { >> struct platform_device *pdev = to_platform_device(dev); >> - const struct of_device_id *of_id = >> - of_match_device(imx_hdmi_dt_ids, dev); >> struct drm_device *drm = data; >> struct device_node *np = dev->of_node; >> struct device_node *ddc_node; >> @@ -1594,19 +1566,16 @@ static int imx_hdmi_bind(struct device *dev, struct device *master, void *data) >> struct resource *iores; >> int ret, irq; >> >> - hdmi = devm_kzalloc(dev, sizeof(*hdmi), GFP_KERNEL); >> + hdmi = devm_kzalloc(&pdev->dev, sizeof(*hdmi), GFP_KERNEL); >> if (!hdmi) >> return -ENOMEM; >> >> - hdmi->dev = dev; >> + hdmi->plat_data = plat_data; >> + hdmi->dev = &pdev->dev; >> + hdmi->dev_type = plat_data->dev_type; >> hdmi->sample_rate = 48000; >> hdmi->ratio = 100; >> - >> - if (of_id) { >> - const struct platform_device_id *device_id = of_id->data; >> - >> - hdmi->dev_type = device_id->driver_data; >> - } >> + hdmi->encoder = encoder; > I'd suggest changing imx_hdmi_bind() to take the struct resource and irq > number, and avoiding the platform device stuff altogether in here. > Actually this is what the current code do: the resource and irq number are all handled in imx_hdmi_bind