From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.3 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY,USER_AGENT_SANE_2 autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id C4C09C43215 for ; Mon, 2 Dec 2019 08:55:46 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 7B4532245C for ; Mon, 2 Dec 2019 08:55:46 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b="COnBxzIO" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726276AbfLBIzm (ORCPT ); Mon, 2 Dec 2019 03:55:42 -0500 Received: from mailgw01.mediatek.com ([210.61.82.183]:38603 "EHLO mailgw01.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1726350AbfLBIzm (ORCPT ); Mon, 2 Dec 2019 03:55:42 -0500 X-UUID: e7b80bc0875d4652be082aece5b2176b-20191202 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:MIME-Version:Content-Type:References:In-Reply-To:Date:CC:To:From:Subject:Message-ID; bh=uXxPm6Kc6afNppHkjKnTzIzbererUFZh8m/i5JmT/xM=; b=COnBxzIOi4mcndQRlWWKzCDzXQ7rp99wozxSGJv3pu9r0Iby9CqbySqY68+SvXRTpKTFyuwabCYHmCkzlg1sA5/fmYkK2cEucDEQZ7ghwzobavTvzWFBzxhoqL+LzGjwWLNTKQCgTTegOt6v4VFn2b46L35VYH1A3853lbQXUAk=; X-UUID: e7b80bc0875d4652be082aece5b2176b-20191202 Received: from mtkcas08.mediatek.inc [(172.21.101.126)] by mailgw01.mediatek.com (envelope-from ) (Cellopoint E-mail Firewall v4.1.10 Build 0809 with TLS) with ESMTP id 1631121494; Mon, 02 Dec 2019 16:55:32 +0800 Received: from mtkcas08.mediatek.inc (172.21.101.126) by mtkmbs07n1.mediatek.inc (172.21.101.16) with Microsoft SMTP Server (TLS) id 15.0.1395.4; Mon, 2 Dec 2019 16:55:26 +0800 Received: from [172.21.77.33] (172.21.77.33) by mtkcas08.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1395.4 via Frontend Transport; Mon, 2 Dec 2019 16:54:45 +0800 Message-ID: <1575276931.3435.2.camel@mtkswgap22> Subject: Re: [PATCH v6 5/8] clk: mediatek: Add MT6765 clock support From: Owen Chen To: Stephen Boyd CC: Macpaul Lin =?UTF-8?Q?=28=E6=9E=97=E6=99=BA=E6=96=8C=29?= , Marc Zyngier , Mars Cheng =?UTF-8?Q?=28=E9=84=AD=E6=A3=AE=E5=8F=8B=29?= , Matthias Brugger , Rob Herring , Ryder Lee =?UTF-8?Q?=28=E6=9D=8E=E5=BA=9A=E8=AB=BA=29?= , Sean Wang , "linux-arm-kernel@lists.infradead.org" , "linux-kernel@vger.kernel.org" , "linux-mediatek@lists.infradead.org" , wsd_upstream , CC Hwang =?UTF-8?Q?=28=E9=BB=83=E8=87=B4=E9=8A=93=29?= , "Loda Chou =?UTF-8?Q?=28=E5=91=A8=E5=AE=8F=E9=9C=96=29?=" , "devicetree@vger.kernel.org" , "linux-serial@vger.kernel.org" , "linux-clk@vger.kernel.org" Date: Mon, 2 Dec 2019 16:55:31 +0800 In-Reply-To: <20190815002721.A71C72083B@mail.kernel.org> References: <1562924653-10056-1-git-send-email-macpaul.lin@mediatek.com> <1562924653-10056-6-git-send-email-macpaul.lin@mediatek.com> <20190815002721.A71C72083B@mail.kernel.org> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.2.3-0ubuntu6 MIME-Version: 1.0 X-MTK: N Content-Transfer-Encoding: base64 Sender: linux-clk-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-clk@vger.kernel.org T24gVGh1LCAyMDE5LTA4LTE1IGF0IDA4OjI3ICswODAwLCBTdGVwaGVuIEJveWQgd3JvdGU6DQo+ IFF1b3RpbmcgTWFjcGF1bCBMaW4gKDIwMTktMDctMTIgMDI6NDM6NDEpDQo+ID4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvY2xrL21lZGlhdGVrL2Nsay1tdDY3NjUtYXVkaW8uYyBiL2RyaXZlcnMvY2xr L21lZGlhdGVrL2Nsay1tdDY3NjUtYXVkaW8uYw0KPiA+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+ ID4gaW5kZXggMDAwMDAwMDAwMDAwLi40MWYxOTM0M2RmYjkNCj4gPiAtLS0gL2Rldi9udWxsDQo+ ID4gKysrIGIvZHJpdmVycy9jbGsvbWVkaWF0ZWsvY2xrLW10Njc2NS1hdWRpby5jDQo+ID4gQEAg LTAsMCArMSwxMDkgQEANCj4gPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAN Cj4gPiArLyoNCj4gPiArICogQ29weXJpZ2h0IChjKSAyMDE4IE1lZGlhVGVrIEluYy4NCj4gPiAr ICogQXV0aG9yOiBPd2VuIENoZW4gPG93ZW4uY2hlbkBtZWRpYXRlay5jb20+DQo+ID4gKyAqDQo+ ID4gKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0 ZSBpdCBhbmQvb3IgbW9kaWZ5DQo+ID4gKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05V IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzDQo+ID4gKyAqIHB1Ymxpc2hlZCBi eSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLg0KPiA+ICsgKg0KPiA+ICsgKiBUaGlzIHBy b2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwN Cj4gPiArICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxp ZWQgd2FycmFudHkgb2YNCj4gPiArICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEg UEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQ0KPiA+ICsgKiBHTlUgR2VuZXJhbCBQdWJsaWMg TGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KPiANCj4gUGxlYXNlIHVzZSBTUERYIHRhZ3MuDQo+ IA0KPiA+ICsgKi8NCj4gPiArDQo+ID4gKyNpbmNsdWRlIDxsaW51eC9jbGstcHJvdmlkZXIuaD4N Cj4gPiArI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPg0KPiA+ICsNCj4gPiArI2lu Y2x1ZGUgImNsay1tdGsuaCINCj4gPiArI2luY2x1ZGUgImNsay1nYXRlLmgiDQo+ID4gKw0KPiA+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2Nsay9tZWRpYXRlay9jbGstbXQ2NzY1LXZjb2RlYy5jIGIv ZHJpdmVycy9jbGsvbWVkaWF0ZWsvY2xrLW10Njc2NS12Y29kZWMuYw0KPiA+IG5ldyBmaWxlIG1v ZGUgMTAwNjQ0DQo+ID4gaW5kZXggMDAwMDAwMDAwMDAwLi5lYjlhZTFjMmM5OWMNCj4gPiAtLS0g L2Rldi9udWxsDQo+ID4gKysrIGIvZHJpdmVycy9jbGsvbWVkaWF0ZWsvY2xrLW10Njc2NS12Y29k ZWMuYw0KPiA+IEBAIC0wLDAgKzEsNzkgQEANCj4gPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZp ZXI6IEdQTC0yLjANCj4gPiArLyoNCj4gPiArICogQ29weXJpZ2h0IChjKSAyMDE4IE1lZGlhVGVr IEluYy4NCj4gPiArICogQXV0aG9yOiBPd2VuIENoZW4gPG93ZW4uY2hlbkBtZWRpYXRlay5jb20+ DQo+ID4gKyAqDQo+ID4gKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2Fu IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQo+ID4gKyAqIGl0IHVuZGVyIHRoZSB0ZXJt cyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzDQo+ID4gKyAq IHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLg0KPiA+ICsgKg0KPiA+ ICsgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxs IGJlIHVzZWZ1bCwNCj4gPiArICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2 ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YNCj4gPiArICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJ VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQ0KPiA+ICsgKiBHTlUgR2Vu ZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KPiA+ICsgKi8NCj4gDQo+IFNQ RFggdGFncy4NCj4gDQo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2xrL21lZGlhdGVrL2Nsay1t dDY3NjUuYyBiL2RyaXZlcnMvY2xrL21lZGlhdGVrL2Nsay1tdDY3NjUuYw0KPiA+IG5ldyBmaWxl IG1vZGUgMTAwNjQ0DQo+ID4gaW5kZXggMDAwMDAwMDAwMDAwLi5mNzE2YTQ4YTkyNmQNCj4gPiAt LS0gL2Rldi9udWxsDQo+ID4gKysrIGIvZHJpdmVycy9jbGsvbWVkaWF0ZWsvY2xrLW10Njc2NS5j DQo+ID4gQEAgLTAsMCArMSw5NjEgQEANCj4gPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6 IEdQTC0yLjANCj4gPiArLyoNCj4gPiArICogQ29weXJpZ2h0IChjKSAyMDE4IE1lZGlhVGVrIElu Yy4NCj4gPiArICogQXV0aG9yOiBPd2VuIENoZW4gPG93ZW4uY2hlbkBtZWRpYXRlay5jb20+DQo+ ID4gKyAqDQo+ID4gKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl ZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQo+ID4gKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBv ZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzDQo+ID4gKyAqIHB1 Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLg0KPiA+ICsgKg0KPiA+ICsg KiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJl IHVzZWZ1bCwNCj4gPiArICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4g dGhlIGltcGxpZWQgd2FycmFudHkgb2YNCj4gPiArICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5F U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQ0KPiA+ICsgKiBHTlUgR2VuZXJh bCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KPiANCj4gU1BEWCB0YWdzLg0KPiAN Cj4gPiArICovDQo+ID4gKw0KPiA+ICsjaW5jbHVkZSA8bGludXgvY2xrLXByb3ZpZGVyLmg+DQo+ ID4gKyNpbmNsdWRlIDxsaW51eC9vZi5oPg0KPiA+ICsjaW5jbHVkZSA8bGludXgvb2ZfYWRkcmVz cy5oPg0KPiA+ICsjaW5jbHVkZSA8bGludXgvc2xhYi5oPg0KPiA+ICsjaW5jbHVkZSA8bGludXgv bWZkL3N5c2Nvbi5oPg0KPiANCj4gSXMgdGhpcyB1c2VkPyBNYXliZSBJIGRlbGV0ZWQgaXQuDQo+ IA0KPiA+ICsjaW5jbHVkZSA8bGludXgvb2ZfZGV2aWNlLmg+DQo+ID4gKyNpbmNsdWRlIDxsaW51 eC9wbGF0Zm9ybV9kZXZpY2UuaD4NCj4gWy4uLl0NCj4gPiArDQo+ID4gK3N0YXRpYyBjb25zdCBj aGFyICogY29uc3QgYXhpX3BhcmVudHNbXSA9IHsNCj4gPiArICAgICAgICJjbGsyNm0iLA0KPiA+ ICsgICAgICAgInN5c3BsbF9kNyIsDQo+ID4gKyAgICAgICAic3lzcGxsMV9kNCIsDQo+ID4gKyAg ICAgICAic3lzcGxsM19kMiINCj4gPiArfTsNCj4gPiArDQo+ID4gK3N0YXRpYyBjb25zdCBjaGFy ICogY29uc3QgbWVtX3BhcmVudHNbXSA9IHsNCj4gPiArICAgICAgICJjbGsyNm0iLA0KPiA+ICsg ICAgICAgImRtcGxsX2NrIiwNCj4gPiArICAgICAgICJhcGxsMV9jayINCj4gPiArfTsNCj4gPiAr DQo+ID4gK3N0YXRpYyBjb25zdCBjaGFyICogY29uc3QgbW1fcGFyZW50c1tdID0gew0KPiA+ICsg ICAgICAgImNsazI2bSIsDQo+ID4gKyAgICAgICAibW1wbGxfY2siLA0KPiA+ICsgICAgICAgInN5 c3BsbDFfZDIiLA0KPiA+ICsgICAgICAgInN5c3BsbF9kNSIsDQo+ID4gKyAgICAgICAic3lzcGxs MV9kNCIsDQo+ID4gKyAgICAgICAidW5pdnBsbF9kNSIsDQo+ID4gKyAgICAgICAidW5pdnBsbDFf ZDIiLA0KPiA+ICsgICAgICAgIm1tcGxsX2QyIg0KPiA+ICt9Ow0KPiA+ICsNCj4gPiArc3RhdGlj IGNvbnN0IGNoYXIgKiBjb25zdCBzY3BfcGFyZW50c1tdID0gew0KPiA+ICsgICAgICAgImNsazI2 bSIsDQo+ID4gKyAgICAgICAic3lzcGxsNF9kMiIsDQo+ID4gKyAgICAgICAidW5pdnBsbDJfZDIi LA0KPiA+ICsgICAgICAgInN5c3BsbDFfZDIiLA0KPiA+ICsgICAgICAgInVuaXZwbGwxX2QyIiwN Cj4gPiArICAgICAgICJzeXNwbGxfZDMiLA0KPiA+ICsgICAgICAgInVuaXZwbGxfZDMiDQo+ID4g K307DQo+ID4gKw0KPiA+ICtzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IG1mZ19wYXJlbnRzW10g PSB7DQo+ID4gKyAgICAgICAiY2xrMjZtIiwNCj4gPiArICAgICAgICJtZmdwbGxfY2siLA0KPiA+ ICsgICAgICAgInN5c3BsbF9kMyIsDQo+ID4gKyAgICAgICAidW5pdnBsbF9kMyINCj4gPiArfTsN Cj4gPiArDQo+ID4gK3N0YXRpYyBjb25zdCBjaGFyICogY29uc3QgYXRiX3BhcmVudHNbXSA9IHsN Cj4gPiArICAgICAgICJjbGsyNm0iLA0KPiA+ICsgICAgICAgInN5c3BsbDFfZDQiLA0KPiA+ICsg ICAgICAgInN5c3BsbDFfZDIiDQo+ID4gK307DQo+ID4gKw0KPiA+ICtzdGF0aWMgY29uc3QgY2hh ciAqIGNvbnN0IGNhbXRnX3BhcmVudHNbXSA9IHsNCj4gPiArICAgICAgICJjbGsyNm0iLA0KPiA+ ICsgICAgICAgInVzYjIwXzE5Mm1fZDgiLA0KPiA+ICsgICAgICAgInVuaXZwbGwyX2Q4IiwNCj4g PiArICAgICAgICJ1c2IyMF8xOTJtX2Q0IiwNCj4gPiArICAgICAgICJ1bml2cGxsMl9kMzIiLA0K PiA+ICsgICAgICAgInVzYjIwXzE5Mm1fZDE2IiwNCj4gPiArICAgICAgICJ1c2IyMF8xOTJtX2Qz MiINCj4gPiArfTsNCj4gPiArDQo+ID4gK3N0YXRpYyBjb25zdCBjaGFyICogY29uc3QgdWFydF9w YXJlbnRzW10gPSB7DQo+ID4gKyAgICAgICAiY2xrMjZtIiwNCj4gPiArICAgICAgICJ1bml2cGxs Ml9kOCINCj4gPiArfTsNCj4gPiArDQo+ID4gK3N0YXRpYyBjb25zdCBjaGFyICogY29uc3Qgc3Bp X3BhcmVudHNbXSA9IHsNCj4gPiArICAgICAgICJjbGsyNm0iLA0KPiA+ICsgICAgICAgInN5c3Bs bDNfZDIiLA0KPiA+ICsgICAgICAgInN5c3BsbDRfZDIiLA0KPiA+ICsgICAgICAgInN5c3BsbDJf ZDQiDQo+ID4gK307DQo+ID4gKw0KPiA+ICtzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IG1zZGM1 aGNsa19wYXJlbnRzW10gPSB7DQo+ID4gKyAgICAgICAiY2xrMjZtIiwNCj4gPiArICAgICAgICJz eXNwbGwxX2QyIiwNCj4gPiArICAgICAgICJ1bml2cGxsMV9kNCIsDQo+ID4gKyAgICAgICAic3lz cGxsMl9kMiINCj4gPiArfTsNCj4gPiArDQo+ID4gK3N0YXRpYyBjb25zdCBjaGFyICogY29uc3Qg bXNkYzUwXzBfcGFyZW50c1tdID0gew0KPiA+ICsgICAgICAgImNsazI2bSIsDQo+ID4gKyAgICAg ICAibXNkY3BsbF9jayIsDQo+ID4gKyAgICAgICAic3lzcGxsMl9kMiIsDQo+ID4gKyAgICAgICAi c3lzcGxsNF9kMiIsDQo+ID4gKyAgICAgICAidW5pdnBsbDFfZDIiLA0KPiA+ICsgICAgICAgInN5 c3BsbDFfZDIiLA0KPiA+ICsgICAgICAgInVuaXZwbGxfZDUiLA0KPiA+ICsgICAgICAgInVuaXZw bGwxX2Q0Ig0KPiA+ICt9Ow0KPiA+ICsNCj4gPiArc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBt c2RjMzBfMV9wYXJlbnRzW10gPSB7DQo+ID4gKyAgICAgICAiY2xrMjZtIiwNCj4gPiArICAgICAg ICJtc2RjcGxsX2QyIiwNCj4gPiArICAgICAgICJ1bml2cGxsMl9kMiIsDQo+ID4gKyAgICAgICAi c3lzcGxsMl9kMiIsDQo+ID4gKyAgICAgICAic3lzcGxsMV9kNCIsDQo+ID4gKyAgICAgICAidW5p dnBsbDFfZDQiLA0KPiA+ICsgICAgICAgInVzYjIwXzE5Mm1fZDQiLA0KPiA+ICsgICAgICAgInN5 c3BsbDJfZDQiDQo+ID4gK307DQo+ID4gKw0KPiA+ICtzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0 IGF1ZGlvX3BhcmVudHNbXSA9IHsNCj4gPiArICAgICAgICJjbGsyNm0iLA0KPiA+ICsgICAgICAg InN5c3BsbDNfZDQiLA0KPiA+ICsgICAgICAgInN5c3BsbDRfZDQiLA0KPiA+ICsgICAgICAgInN5 c3BsbDFfZDE2Ig0KPiA+ICt9Ow0KPiA+ICsNCj4gPiArc3RhdGljIGNvbnN0IGNoYXIgKiBjb25z dCBhdWRfaW50YnVzX3BhcmVudHNbXSA9IHsNCj4gPiArICAgICAgICJjbGsyNm0iLA0KPiA+ICsg ICAgICAgInN5c3BsbDFfZDQiLA0KPiA+ICsgICAgICAgInN5c3BsbDRfZDIiDQo+ID4gK307DQo+ ID4gKw0KPiA+ICtzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IGF1ZF8xX3BhcmVudHNbXSA9IHsN Cj4gPiArICAgICAgICJjbGsyNm0iLA0KPiA+ICsgICAgICAgImFwbGwxX2NrIg0KPiA+ICt9Ow0K PiA+ICsNCj4gPiArc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBhdWRfZW5nZW4xX3BhcmVudHNb XSA9IHsNCj4gPiArICAgICAgICJjbGsyNm0iLA0KPiA+ICsgICAgICAgImFwbGwxX2QyIiwNCj4g PiArICAgICAgICJhcGxsMV9kNCIsDQo+ID4gKyAgICAgICAiYXBsbDFfZDgiDQo+ID4gK307DQo+ ID4gKw0KPiA+ICtzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IGRpc3BfcHdtX3BhcmVudHNbXSA9 IHsNCj4gPiArICAgICAgICJjbGsyNm0iLA0KPiA+ICsgICAgICAgInVuaXZwbGwyX2Q0IiwNCj4g PiArICAgICAgICJ1bHBvc2MxX2QyIiwNCj4gPiArICAgICAgICJ1bHBvc2MxX2Q4Ig0KPiA+ICt9 Ow0KPiA+ICsNCj4gPiArc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBzc3BtX3BhcmVudHNbXSA9 IHsNCj4gPiArICAgICAgICJjbGsyNm0iLA0KPiA+ICsgICAgICAgInN5c3BsbDFfZDIiLA0KPiA+ ICsgICAgICAgInN5c3BsbF9kMyINCj4gPiArfTsNCj4gPiArDQo+ID4gK3N0YXRpYyBjb25zdCBj aGFyICogY29uc3QgZHhjY19wYXJlbnRzW10gPSB7DQo+ID4gKyAgICAgICAiY2xrMjZtIiwNCj4g PiArICAgICAgICJzeXNwbGwxX2QyIiwNCj4gPiArICAgICAgICJzeXNwbGwxX2Q0IiwNCj4gPiAr ICAgICAgICJzeXNwbGwxX2Q4Ig0KPiA+ICt9Ow0KPiA+ICsNCj4gPiArc3RhdGljIGNvbnN0IGNo YXIgKiBjb25zdCB1c2JfdG9wX3BhcmVudHNbXSA9IHsNCj4gPiArICAgICAgICJjbGsyNm0iLA0K PiA+ICsgICAgICAgInVuaXZwbGwzX2Q0Ig0KPiA+ICt9Ow0KPiA+ICsNCj4gPiArc3RhdGljIGNv bnN0IGNoYXIgKiBjb25zdCBzcG1fcGFyZW50c1tdID0gew0KPiA+ICsgICAgICAgImNsazI2bSIs DQo+ID4gKyAgICAgICAic3lzcGxsMV9kOCINCj4gPiArfTsNCj4gPiArDQo+ID4gK3N0YXRpYyBj b25zdCBjaGFyICogY29uc3QgaTJjX3BhcmVudHNbXSA9IHsNCj4gPiArICAgICAgICJjbGsyNm0i LA0KPiA+ICsgICAgICAgInVuaXZwbGwzX2Q0IiwNCj4gPiArICAgICAgICJ1bml2cGxsM19kMiIs DQo+ID4gKyAgICAgICAic3lzcGxsMV9kOCIsDQo+ID4gKyAgICAgICAic3lzcGxsMl9kOCINCj4g PiArfTsNCj4gPiArDQo+ID4gK3N0YXRpYyBjb25zdCBjaGFyICogY29uc3QgcHdtX3BhcmVudHNb XSA9IHsNCj4gPiArICAgICAgICJjbGsyNm0iLA0KPiA+ICsgICAgICAgInVuaXZwbGwzX2Q0IiwN Cj4gPiArICAgICAgICJzeXNwbGwxX2Q4Ig0KPiA+ICt9Ow0KPiA+ICsNCj4gPiArc3RhdGljIGNv bnN0IGNoYXIgKiBjb25zdCBzZW5pbmZfcGFyZW50c1tdID0gew0KPiA+ICsgICAgICAgImNsazI2 bSIsDQo+ID4gKyAgICAgICAidW5pdnBsbDFfZDQiLA0KPiA+ICsgICAgICAgInVuaXZwbGwxX2Qy IiwNCj4gPiArICAgICAgICJ1bml2cGxsMl9kMiINCj4gPiArfTsNCj4gPiArDQo+ID4gK3N0YXRp YyBjb25zdCBjaGFyICogY29uc3QgYWVzX2ZkZV9wYXJlbnRzW10gPSB7DQo+ID4gKyAgICAgICAi Y2xrMjZtIiwNCj4gPiArICAgICAgICJtc2RjcGxsX2NrIiwNCj4gPiArICAgICAgICJ1bml2cGxs X2QzIiwNCj4gPiArICAgICAgICJ1bml2cGxsMl9kMiIsDQo+ID4gKyAgICAgICAidW5pdnBsbDFf ZDIiLA0KPiA+ICsgICAgICAgInN5c3BsbDFfZDIiDQo+ID4gK307DQo+ID4gKw0KPiA+ICtzdGF0 aWMgY29uc3QgY2hhciAqIGNvbnN0IHVscG9zY19wYXJlbnRzW10gPSB7DQo+ID4gKyAgICAgICAi Y2xrMjZtIiwNCj4gPiArICAgICAgICJ1bHBvc2MxX2Q0IiwNCj4gPiArICAgICAgICJ1bHBvc2Mx X2Q4IiwNCj4gPiArICAgICAgICJ1bHBvc2MxX2QxNiIsDQo+ID4gKyAgICAgICAidWxwb3NjMV9k MzIiDQo+ID4gK307DQo+ID4gKw0KPiA+ICtzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IGNhbXRt X3BhcmVudHNbXSA9IHsNCj4gPiArICAgICAgICJjbGsyNm0iLA0KPiA+ICsgICAgICAgInVuaXZw bGwxX2Q0IiwNCj4gPiArICAgICAgICJ1bml2cGxsMV9kMiIsDQo+ID4gKyAgICAgICAidW5pdnBs bDJfZDIiDQo+ID4gK307DQo+ID4gKw0KPiANCj4gQ2FuIHlvdSBtaWdyYXRlIHRoaXMgZHJpdmVy IHRvIHRoZSBuZXcgd2F5IG9mIHNwZWNpZnlpbmcgY2xrIHBhcmVudHM/DQo+IFRoYXQgd2F5IHdl IGRvbid0IGp1c3QgaGF2ZSBsaXN0cyBvZiBzdHJpbmdzLg0KPiANCg0KRG8geW91IG1lYW4gaGlk ZSB0aGUgc3RyaW5nIGxpc3QgaW5mb3JtYXRpb24gaW5zaWRlIERUUyBmaWxlIG9yIGNsaw0KaGVh ZGVyIGZpbGU/DQoNCj4gPiArI2RlZmluZSBJTlZBTElEX1VQREFURV9SRUcgMHhGRkZGRkZGRg0K PiA+ICsjZGVmaW5lIElOVkFMSURfVVBEQVRFX1NISUZUIC0xDQo+ID4gKyNkZWZpbmUgSU5WQUxJ RF9NVVhfR0FURSAtMQ0KPiA+ICsNCj4gPiArc3RhdGljIGNvbnN0IHN0cnVjdCBtdGtfbXV4IHRv cF9tdXhlc1tdID0gew0KPiA+ICsgICAgICAgLyogQ0xLX0NGR18wICovDQo+ID4gKyAgICAgICBN VVhfR0FURV9DTFJfU0VUX1VQRF9GTEFHUyhDTEtfVE9QX0FYSV9TRUwsICJheGlfc2VsIiwgYXhp X3BhcmVudHMsDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ0xLX0NGR18wLCBD TEtfQ0ZHXzBfU0VULCBDTEtfQ0ZHXzBfQ0xSLA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDAsIDIsIDcsIENMS19DRkdfVVBEQVRFLCAwLCBDTEtfSVNfQ1JJVElDQUwpLA0KPiAN Cj4gUGxlYXNlIGFkZCBhIGNvbW1lbnQgd2h5IENMS19JU19DUklUSUNBTCBmbGFnIGlzIHVzZWQg aW4gZWFjaCBwbGFjZS4NCj4gDQo+ID4gKyAgICAgICBNVVhfR0FURV9DTFJfU0VUX1VQRF9GTEFH UyhDTEtfVE9QX01FTV9TRUwsICJtZW1fc2VsIiwgbWVtX3BhcmVudHMsDQo+ID4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgQ0xLX0NGR18wLCBDTEtfQ0ZHXzBfU0VULCBDTEtfQ0ZHXzBf Q0xSLA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDgsIDIsIDE1LCBDTEtfQ0ZH X1VQREFURSwgMSwgQ0xLX0lTX0NSSVRJQ0FMKSwNCj4gPiArICAgICAgIE1VWF9HQVRFX0NMUl9T RVRfVVBEKENMS19UT1BfTU1fU0VMLCAibW1fc2VsIiwgbW1fcGFyZW50cywgQ0xLX0NGR18wLA0K PiA+ICsgICAgICAgICAgICAgICAgICAgICAgIENMS19DRkdfMF9TRVQsIENMS19DRkdfMF9DTFIs IDE2LCAzLCAyMywNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICBDTEtfQ0ZHX1VQREFURSwg MiksDQo+ID4gKyAgICAgICBNVVhfR0FURV9DTFJfU0VUX1VQRChDTEtfVE9QX1NDUF9TRUwsICJz Y3Bfc2VsIiwgc2NwX3BhcmVudHMsIENMS19DRkdfMCwNCj4gPiArICAgICAgICAgICAgICAgICAg ICAgICBDTEtfQ0ZHXzBfU0VULCBDTEtfQ0ZHXzBfQ0xSLCAyNCwgMywgMzEsDQo+ID4gKyAgICAg ICAgICAgICAgICAgICAgICAgQ0xLX0NGR19VUERBVEUsIDMpLA0KPiBbLi4uXQ0KPiA+ICsgICAg ICAgfSwgew0KPiA+ICsgICAgICAgICAgICAgICAuY29tcGF0aWJsZSA9ICJtZWRpYXRlayxtdDY3 NjUtdG9wY2tnZW4iLA0KPiA+ICsgICAgICAgICAgICAgICAuZGF0YSA9IGNsa19tdDY3NjVfdG9w X3Byb2JlLA0KPiA+ICsgICAgICAgfSwgew0KPiA+ICsgICAgICAgICAgICAgICAuY29tcGF0aWJs ZSA9ICJtZWRpYXRlayxtdDY3NjUtaW5mcmFjZmciLA0KPiA+ICsgICAgICAgICAgICAgICAuZGF0 YSA9IGNsa19tdDY3NjVfaWZyX3Byb2JlLA0KPiA+ICsgICAgICAgfSwgew0KPiA+ICsgICAgICAg ICAgICAgICAvKiBzZW50aW5lbCAqLw0KPiA+ICsgICAgICAgfQ0KPiA+ICt9Ow0KPiA+ICsNCj4g PiArc3RhdGljIGludCBjbGtfbXQ2NzY1X3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBk ZXYpDQo+ID4gK3sNCj4gPiArICAgICAgIGludCAoKmNsa19wcm9iZSkoc3RydWN0IHBsYXRmb3Jt X2RldmljZSAqZCk7DQo+ID4gKyAgICAgICBpbnQgcjsNCj4gPiArDQo+ID4gKyAgICAgICBjbGtf cHJvYmUgPSBvZl9kZXZpY2VfZ2V0X21hdGNoX2RhdGEoJnBkZXYtPmRldik7DQo+ID4gKyAgICAg ICBpZiAoIWNsa19wcm9iZSkNCj4gPiArICAgICAgICAgICAgICAgcmV0dXJuIC1FSU5WQUw7DQo+ ID4gKw0KPiA+ICsgICAgICAgciA9IGNsa19wcm9iZShwZGV2KTsNCj4gPiArICAgICAgIGlmIChy KQ0KPiA+ICsgICAgICAgICAgICAgICBkZXZfZXJyKCZwZGV2LT5kZXYsDQo+ID4gKyAgICAgICAg ICAgICAgICAgICAgICAgImNvdWxkIG5vdCByZWdpc3RlciBjbG9jayBwcm92aWRlcjogJXM6ICVk XG4iLA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgIHBkZXYtPm5hbWUsIHIpOw0KPiA+ICsN Cj4gPiArICAgICAgIHJldHVybiByOw0KPiA+ICt9DQo+ID4gKw0KPiA+ICtzdGF0aWMgc3RydWN0 IHBsYXRmb3JtX2RyaXZlciBjbGtfbXQ2NzY1X2RydiA9IHsNCj4gPiArICAgICAgIC5wcm9iZSA9 IGNsa19tdDY3NjVfcHJvYmUsDQo+ID4gKyAgICAgICAuZHJpdmVyID0gew0KPiA+ICsgICAgICAg ICAgICAgICAubmFtZSA9ICJjbGstbXQ2NzY1IiwNCj4gPiArICAgICAgICAgICAgICAgLm93bmVy ID0gVEhJU19NT0RVTEUsDQo+IA0KPiBSZW1vdmUgdGhpcyBsaW5lLCBwbGF0Zm9ybV9kcml2ZXJf cmVnaXN0ZXIoKSBzaG91bGQgdGFrZSBjYXJlIG9mIGl0Lg0KPiANCj4gPiArICAgICAgICAgICAg ICAgLm9mX21hdGNoX3RhYmxlID0gb2ZfbWF0Y2hfY2xrX210Njc2NSwNCj4gPiArICAgICAgIH0s DQo+ID4gK307DQo+ID4gKw0KDQo= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.2 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY,USER_AGENT_SANE_2 autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id BC9E1C43141 for ; Mon, 2 Dec 2019 08:55:43 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 87B5E2464D for ; Mon, 2 Dec 2019 08:55:43 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="KJp7PHNZ"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b="COnBxzIO" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 87B5E2464D Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=mediatek.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-mediatek-bounces+linux-mediatek=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Date:To:From:Subject:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=aiygAmc79glwkTHHUfZzq3tAetpydsYVJbiAqnpnht8=; b=KJp7PHNZlU/s7g 0+AC+YEx2MUPmZZmu95N3asSh2GDRCJ+JRYzzjRq9MMn4L4PkVAfpktC3T1BbkZ094vE96jtgQpvz mWcOQ6ZlhISM/4xgKadHvSr2del3RPL+XC7gVuaUs6yknphKrVlcnJQO0ERHdiHcqrafE8jQCxo1O RYiTQxHXLeYQrzTL5/qJLIk94BDhlPxQiPqS2enjM3hWWM4ZG8CGXNVQKeBYB/H69gusXYzWxS9k+ TQ9+I2boE8w1RN5CN4jYDXF7PMU2KoizSIwTR8gMm/zBG81SHt/XKUwWZcm5YHahO/1/QSKr+G+24 mWKcbTA9ZLN8fZs2T75w==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1ibhUd-00029f-0B; Mon, 02 Dec 2019 08:55:43 +0000 Received: from mailgw02.mediatek.com ([216.200.240.185]) by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1ibhUZ-00028m-Hd; Mon, 02 Dec 2019 08:55:41 +0000 X-UUID: c5fa9dd1356e493f86f7d461ec31aa97-20191202 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:MIME-Version:Content-Type:References:In-Reply-To:Date:CC:To:From:Subject:Message-ID; bh=uXxPm6Kc6afNppHkjKnTzIzbererUFZh8m/i5JmT/xM=; b=COnBxzIOi4mcndQRlWWKzCDzXQ7rp99wozxSGJv3pu9r0Iby9CqbySqY68+SvXRTpKTFyuwabCYHmCkzlg1sA5/fmYkK2cEucDEQZ7ghwzobavTvzWFBzxhoqL+LzGjwWLNTKQCgTTegOt6v4VFn2b46L35VYH1A3853lbQXUAk=; X-UUID: c5fa9dd1356e493f86f7d461ec31aa97-20191202 Received: from mtkcas68.mediatek.inc [(172.29.94.19)] by mailgw02.mediatek.com (envelope-from ) (musrelay.mediatek.com ESMTP with TLS) with ESMTP id 285716791; Mon, 02 Dec 2019 00:55:34 -0800 Received: from mtkmbs07n1.mediatek.inc (172.21.101.16) by MTKMBS62DR.mediatek.inc (172.29.94.18) with Microsoft SMTP Server (TLS) id 15.0.1395.4; Mon, 2 Dec 2019 00:55:43 -0800 Received: from mtkcas08.mediatek.inc (172.21.101.126) by mtkmbs07n1.mediatek.inc (172.21.101.16) with Microsoft SMTP Server (TLS) id 15.0.1395.4; Mon, 2 Dec 2019 16:55:26 +0800 Received: from [172.21.77.33] (172.21.77.33) by mtkcas08.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1395.4 via Frontend Transport; Mon, 2 Dec 2019 16:54:45 +0800 Message-ID: <1575276931.3435.2.camel@mtkswgap22> Subject: Re: [PATCH v6 5/8] clk: mediatek: Add MT6765 clock support From: Owen Chen To: Stephen Boyd Date: Mon, 2 Dec 2019 16:55:31 +0800 In-Reply-To: <20190815002721.A71C72083B@mail.kernel.org> References: <1562924653-10056-1-git-send-email-macpaul.lin@mediatek.com> <1562924653-10056-6-git-send-email-macpaul.lin@mediatek.com> <20190815002721.A71C72083B@mail.kernel.org> X-Mailer: Evolution 3.2.3-0ubuntu6 MIME-Version: 1.0 X-MTK: N X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20191202_005539_599397_9F917415 X-CRM114-Status: GOOD ( 17.61 ) X-BeenThere: linux-mediatek@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "devicetree@vger.kernel.org" , Ryder Lee =?UTF-8?Q?=28=E6=9D=8E=E5=BA=9A=E8=AB=BA=29?= , wsd_upstream , Marc Zyngier , Sean Wang , Loda Chou =?UTF-8?Q?=28=E5=91=A8=E5=AE=8F=E9=9C=96=29?= , "linux-kernel@vger.kernel.org" , Rob Herring , Mars Cheng =?UTF-8?Q?=28=E9=84=AD=E6=A3=AE=E5=8F=8B=29?= , Macpaul Lin =?UTF-8?Q?=28=E6=9E=97=E6=99=BA=E6=96=8C=29?= , "linux-serial@vger.kernel.org" , Matthias Brugger , "linux-mediatek@lists.infradead.org" , CC Hwang =?UTF-8?Q?=28=E9=BB=83=E8=87=B4=E9=8A=93=29?= , "linux-clk@vger.kernel.org" , "linux-arm-kernel@lists.infradead.org" Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "Linux-mediatek" Errors-To: linux-mediatek-bounces+linux-mediatek=archiver.kernel.org@lists.infradead.org On Thu, 2019-08-15 at 08:27 +0800, Stephen Boyd wrote: > Quoting Macpaul Lin (2019-07-12 02:43:41) > > diff --git a/drivers/clk/mediatek/clk-mt6765-audio.c b/drivers/clk/mediatek/clk-mt6765-audio.c > > new file mode 100644 > > index 000000000000..41f19343dfb9 > > --- /dev/null > > +++ b/drivers/clk/mediatek/clk-mt6765-audio.c > > @@ -0,0 +1,109 @@ > > +// SPDX-License-Identifier: GPL-2.0 > > +/* > > + * Copyright (c) 2018 MediaTek Inc. > > + * Author: Owen Chen > > + * > > + * This program is free software; you can redistribute it and/or modify > > + * it under the terms of the GNU General Public License version 2 as > > + * published by the Free Software Foundation. > > + * > > + * This program is distributed in the hope that it will be useful, > > + * but WITHOUT ANY WARRANTY; without even the implied warranty of > > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > > + * GNU General Public License for more details. > > Please use SPDX tags. > > > + */ > > + > > +#include > > +#include > > + > > +#include "clk-mtk.h" > > +#include "clk-gate.h" > > + > > diff --git a/drivers/clk/mediatek/clk-mt6765-vcodec.c b/drivers/clk/mediatek/clk-mt6765-vcodec.c > > new file mode 100644 > > index 000000000000..eb9ae1c2c99c > > --- /dev/null > > +++ b/drivers/clk/mediatek/clk-mt6765-vcodec.c > > @@ -0,0 +1,79 @@ > > +// SPDX-License-Identifier: GPL-2.0 > > +/* > > + * Copyright (c) 2018 MediaTek Inc. > > + * Author: Owen Chen > > + * > > + * This program is free software; you can redistribute it and/or modify > > + * it under the terms of the GNU General Public License version 2 as > > + * published by the Free Software Foundation. > > + * > > + * This program is distributed in the hope that it will be useful, > > + * but WITHOUT ANY WARRANTY; without even the implied warranty of > > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > > + * GNU General Public License for more details. > > + */ > > SPDX tags. > > > diff --git a/drivers/clk/mediatek/clk-mt6765.c b/drivers/clk/mediatek/clk-mt6765.c > > new file mode 100644 > > index 000000000000..f716a48a926d > > --- /dev/null > > +++ b/drivers/clk/mediatek/clk-mt6765.c > > @@ -0,0 +1,961 @@ > > +// SPDX-License-Identifier: GPL-2.0 > > +/* > > + * Copyright (c) 2018 MediaTek Inc. > > + * Author: Owen Chen > > + * > > + * This program is free software; you can redistribute it and/or modify > > + * it under the terms of the GNU General Public License version 2 as > > + * published by the Free Software Foundation. > > + * > > + * This program is distributed in the hope that it will be useful, > > + * but WITHOUT ANY WARRANTY; without even the implied warranty of > > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > > + * GNU General Public License for more details. > > SPDX tags. > > > + */ > > + > > +#include > > +#include > > +#include > > +#include > > +#include > > Is this used? Maybe I deleted it. > > > +#include > > +#include > [...] > > + > > +static const char * const axi_parents[] = { > > + "clk26m", > > + "syspll_d7", > > + "syspll1_d4", > > + "syspll3_d2" > > +}; > > + > > +static const char * const mem_parents[] = { > > + "clk26m", > > + "dmpll_ck", > > + "apll1_ck" > > +}; > > + > > +static const char * const mm_parents[] = { > > + "clk26m", > > + "mmpll_ck", > > + "syspll1_d2", > > + "syspll_d5", > > + "syspll1_d4", > > + "univpll_d5", > > + "univpll1_d2", > > + "mmpll_d2" > > +}; > > + > > +static const char * const scp_parents[] = { > > + "clk26m", > > + "syspll4_d2", > > + "univpll2_d2", > > + "syspll1_d2", > > + "univpll1_d2", > > + "syspll_d3", > > + "univpll_d3" > > +}; > > + > > +static const char * const mfg_parents[] = { > > + "clk26m", > > + "mfgpll_ck", > > + "syspll_d3", > > + "univpll_d3" > > +}; > > + > > +static const char * const atb_parents[] = { > > + "clk26m", > > + "syspll1_d4", > > + "syspll1_d2" > > +}; > > + > > +static const char * const camtg_parents[] = { > > + "clk26m", > > + "usb20_192m_d8", > > + "univpll2_d8", > > + "usb20_192m_d4", > > + "univpll2_d32", > > + "usb20_192m_d16", > > + "usb20_192m_d32" > > +}; > > + > > +static const char * const uart_parents[] = { > > + "clk26m", > > + "univpll2_d8" > > +}; > > + > > +static const char * const spi_parents[] = { > > + "clk26m", > > + "syspll3_d2", > > + "syspll4_d2", > > + "syspll2_d4" > > +}; > > + > > +static const char * const msdc5hclk_parents[] = { > > + "clk26m", > > + "syspll1_d2", > > + "univpll1_d4", > > + "syspll2_d2" > > +}; > > + > > +static const char * const msdc50_0_parents[] = { > > + "clk26m", > > + "msdcpll_ck", > > + "syspll2_d2", > > + "syspll4_d2", > > + "univpll1_d2", > > + "syspll1_d2", > > + "univpll_d5", > > + "univpll1_d4" > > +}; > > + > > +static const char * const msdc30_1_parents[] = { > > + "clk26m", > > + "msdcpll_d2", > > + "univpll2_d2", > > + "syspll2_d2", > > + "syspll1_d4", > > + "univpll1_d4", > > + "usb20_192m_d4", > > + "syspll2_d4" > > +}; > > + > > +static const char * const audio_parents[] = { > > + "clk26m", > > + "syspll3_d4", > > + "syspll4_d4", > > + "syspll1_d16" > > +}; > > + > > +static const char * const aud_intbus_parents[] = { > > + "clk26m", > > + "syspll1_d4", > > + "syspll4_d2" > > +}; > > + > > +static const char * const aud_1_parents[] = { > > + "clk26m", > > + "apll1_ck" > > +}; > > + > > +static const char * const aud_engen1_parents[] = { > > + "clk26m", > > + "apll1_d2", > > + "apll1_d4", > > + "apll1_d8" > > +}; > > + > > +static const char * const disp_pwm_parents[] = { > > + "clk26m", > > + "univpll2_d4", > > + "ulposc1_d2", > > + "ulposc1_d8" > > +}; > > + > > +static const char * const sspm_parents[] = { > > + "clk26m", > > + "syspll1_d2", > > + "syspll_d3" > > +}; > > + > > +static const char * const dxcc_parents[] = { > > + "clk26m", > > + "syspll1_d2", > > + "syspll1_d4", > > + "syspll1_d8" > > +}; > > + > > +static const char * const usb_top_parents[] = { > > + "clk26m", > > + "univpll3_d4" > > +}; > > + > > +static const char * const spm_parents[] = { > > + "clk26m", > > + "syspll1_d8" > > +}; > > + > > +static const char * const i2c_parents[] = { > > + "clk26m", > > + "univpll3_d4", > > + "univpll3_d2", > > + "syspll1_d8", > > + "syspll2_d8" > > +}; > > + > > +static const char * const pwm_parents[] = { > > + "clk26m", > > + "univpll3_d4", > > + "syspll1_d8" > > +}; > > + > > +static const char * const seninf_parents[] = { > > + "clk26m", > > + "univpll1_d4", > > + "univpll1_d2", > > + "univpll2_d2" > > +}; > > + > > +static const char * const aes_fde_parents[] = { > > + "clk26m", > > + "msdcpll_ck", > > + "univpll_d3", > > + "univpll2_d2", > > + "univpll1_d2", > > + "syspll1_d2" > > +}; > > + > > +static const char * const ulposc_parents[] = { > > + "clk26m", > > + "ulposc1_d4", > > + "ulposc1_d8", > > + "ulposc1_d16", > > + "ulposc1_d32" > > +}; > > + > > +static const char * const camtm_parents[] = { > > + "clk26m", > > + "univpll1_d4", > > + "univpll1_d2", > > + "univpll2_d2" > > +}; > > + > > Can you migrate this driver to the new way of specifying clk parents? > That way we don't just have lists of strings. > Do you mean hide the string list information inside DTS file or clk header file? > > +#define INVALID_UPDATE_REG 0xFFFFFFFF > > +#define INVALID_UPDATE_SHIFT -1 > > +#define INVALID_MUX_GATE -1 > > + > > +static const struct mtk_mux top_muxes[] = { > > + /* CLK_CFG_0 */ > > + MUX_GATE_CLR_SET_UPD_FLAGS(CLK_TOP_AXI_SEL, "axi_sel", axi_parents, > > + CLK_CFG_0, CLK_CFG_0_SET, CLK_CFG_0_CLR, > > + 0, 2, 7, CLK_CFG_UPDATE, 0, CLK_IS_CRITICAL), > > Please add a comment why CLK_IS_CRITICAL flag is used in each place. > > > + MUX_GATE_CLR_SET_UPD_FLAGS(CLK_TOP_MEM_SEL, "mem_sel", mem_parents, > > + CLK_CFG_0, CLK_CFG_0_SET, CLK_CFG_0_CLR, > > + 8, 2, 15, CLK_CFG_UPDATE, 1, CLK_IS_CRITICAL), > > + MUX_GATE_CLR_SET_UPD(CLK_TOP_MM_SEL, "mm_sel", mm_parents, CLK_CFG_0, > > + CLK_CFG_0_SET, CLK_CFG_0_CLR, 16, 3, 23, > > + CLK_CFG_UPDATE, 2), > > + MUX_GATE_CLR_SET_UPD(CLK_TOP_SCP_SEL, "scp_sel", scp_parents, CLK_CFG_0, > > + CLK_CFG_0_SET, CLK_CFG_0_CLR, 24, 3, 31, > > + CLK_CFG_UPDATE, 3), > [...] > > + }, { > > + .compatible = "mediatek,mt6765-topckgen", > > + .data = clk_mt6765_top_probe, > > + }, { > > + .compatible = "mediatek,mt6765-infracfg", > > + .data = clk_mt6765_ifr_probe, > > + }, { > > + /* sentinel */ > > + } > > +}; > > + > > +static int clk_mt6765_probe(struct platform_device *pdev) > > +{ > > + int (*clk_probe)(struct platform_device *d); > > + int r; > > + > > + clk_probe = of_device_get_match_data(&pdev->dev); > > + if (!clk_probe) > > + return -EINVAL; > > + > > + r = clk_probe(pdev); > > + if (r) > > + dev_err(&pdev->dev, > > + "could not register clock provider: %s: %d\n", > > + pdev->name, r); > > + > > + return r; > > +} > > + > > +static struct platform_driver clk_mt6765_drv = { > > + .probe = clk_mt6765_probe, > > + .driver = { > > + .name = "clk-mt6765", > > + .owner = THIS_MODULE, > > Remove this line, platform_driver_register() should take care of it. > > > + .of_match_table = of_match_clk_mt6765, > > + }, > > +}; > > + _______________________________________________ Linux-mediatek mailing list Linux-mediatek@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-mediatek From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.2 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY,USER_AGENT_SANE_2 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id C29BEC432C3 for ; Mon, 2 Dec 2019 08:55:44 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 907AD218AC for ; Mon, 2 Dec 2019 08:55:44 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="jqejLEVV"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b="COnBxzIO" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 907AD218AC Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=mediatek.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Date:To:From:Subject:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=yxt8uI130yGFObHM/+8SKEGidY8E7+j0Rbye4AJuz80=; b=jqejLEVV4+X/mo iSexJ6brouBw8C8UW7Pv65CCxgR6+24Lb/hQ7IGKDdeq9DWa97fz3z+mhUkLk+u4XokPMU6ywDt08 m6zS0WO3W3M7A29/R+RDwVwidH/ihekWdTEFyEt7/p6bRWhnUNAEM9llJrLsQ1U53CrCJh10Mpy28 rL8TWD7LNWumlLfHCEu6fU3a3EtpGqn9e0fQd3wARNJ7dlJ/bxB0DbaA5rcViWySZem5dMtjDGT08 mJ8OgnNYy09eJiNstjv/HZafW8Dsx30SE0dFAsQRO6JGVG/Q449cBC3zVdm8lxRFXWqsUy5lnD6G5 0ZctjhS15mT0GhHl0zVQ==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1ibhUd-0002AJ-OT; Mon, 02 Dec 2019 08:55:43 +0000 Received: from mailgw02.mediatek.com ([216.200.240.185]) by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1ibhUZ-00028m-Hd; Mon, 02 Dec 2019 08:55:41 +0000 X-UUID: c5fa9dd1356e493f86f7d461ec31aa97-20191202 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:MIME-Version:Content-Type:References:In-Reply-To:Date:CC:To:From:Subject:Message-ID; bh=uXxPm6Kc6afNppHkjKnTzIzbererUFZh8m/i5JmT/xM=; b=COnBxzIOi4mcndQRlWWKzCDzXQ7rp99wozxSGJv3pu9r0Iby9CqbySqY68+SvXRTpKTFyuwabCYHmCkzlg1sA5/fmYkK2cEucDEQZ7ghwzobavTvzWFBzxhoqL+LzGjwWLNTKQCgTTegOt6v4VFn2b46L35VYH1A3853lbQXUAk=; X-UUID: c5fa9dd1356e493f86f7d461ec31aa97-20191202 Received: from mtkcas68.mediatek.inc [(172.29.94.19)] by mailgw02.mediatek.com (envelope-from ) (musrelay.mediatek.com ESMTP with TLS) with ESMTP id 285716791; Mon, 02 Dec 2019 00:55:34 -0800 Received: from mtkmbs07n1.mediatek.inc (172.21.101.16) by MTKMBS62DR.mediatek.inc (172.29.94.18) with Microsoft SMTP Server (TLS) id 15.0.1395.4; Mon, 2 Dec 2019 00:55:43 -0800 Received: from mtkcas08.mediatek.inc (172.21.101.126) by mtkmbs07n1.mediatek.inc (172.21.101.16) with Microsoft SMTP Server (TLS) id 15.0.1395.4; Mon, 2 Dec 2019 16:55:26 +0800 Received: from [172.21.77.33] (172.21.77.33) by mtkcas08.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1395.4 via Frontend Transport; Mon, 2 Dec 2019 16:54:45 +0800 Message-ID: <1575276931.3435.2.camel@mtkswgap22> Subject: Re: [PATCH v6 5/8] clk: mediatek: Add MT6765 clock support From: Owen Chen To: Stephen Boyd Date: Mon, 2 Dec 2019 16:55:31 +0800 In-Reply-To: <20190815002721.A71C72083B@mail.kernel.org> References: <1562924653-10056-1-git-send-email-macpaul.lin@mediatek.com> <1562924653-10056-6-git-send-email-macpaul.lin@mediatek.com> <20190815002721.A71C72083B@mail.kernel.org> X-Mailer: Evolution 3.2.3-0ubuntu6 MIME-Version: 1.0 X-MTK: N X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20191202_005539_599397_9F917415 X-CRM114-Status: GOOD ( 17.61 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "devicetree@vger.kernel.org" , Ryder Lee =?UTF-8?Q?=28=E6=9D=8E=E5=BA=9A=E8=AB=BA=29?= , wsd_upstream , Marc Zyngier , Sean Wang , Loda Chou =?UTF-8?Q?=28=E5=91=A8=E5=AE=8F=E9=9C=96=29?= , "linux-kernel@vger.kernel.org" , Rob Herring , Mars Cheng =?UTF-8?Q?=28=E9=84=AD=E6=A3=AE=E5=8F=8B=29?= , Macpaul Lin =?UTF-8?Q?=28=E6=9E=97=E6=99=BA=E6=96=8C=29?= , "linux-serial@vger.kernel.org" , Matthias Brugger , "linux-mediatek@lists.infradead.org" , CC Hwang =?UTF-8?Q?=28=E9=BB=83=E8=87=B4=E9=8A=93=29?= , "linux-clk@vger.kernel.org" , "linux-arm-kernel@lists.infradead.org" Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org On Thu, 2019-08-15 at 08:27 +0800, Stephen Boyd wrote: > Quoting Macpaul Lin (2019-07-12 02:43:41) > > diff --git a/drivers/clk/mediatek/clk-mt6765-audio.c b/drivers/clk/mediatek/clk-mt6765-audio.c > > new file mode 100644 > > index 000000000000..41f19343dfb9 > > --- /dev/null > > +++ b/drivers/clk/mediatek/clk-mt6765-audio.c > > @@ -0,0 +1,109 @@ > > +// SPDX-License-Identifier: GPL-2.0 > > +/* > > + * Copyright (c) 2018 MediaTek Inc. > > + * Author: Owen Chen > > + * > > + * This program is free software; you can redistribute it and/or modify > > + * it under the terms of the GNU General Public License version 2 as > > + * published by the Free Software Foundation. > > + * > > + * This program is distributed in the hope that it will be useful, > > + * but WITHOUT ANY WARRANTY; without even the implied warranty of > > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > > + * GNU General Public License for more details. > > Please use SPDX tags. > > > + */ > > + > > +#include > > +#include > > + > > +#include "clk-mtk.h" > > +#include "clk-gate.h" > > + > > diff --git a/drivers/clk/mediatek/clk-mt6765-vcodec.c b/drivers/clk/mediatek/clk-mt6765-vcodec.c > > new file mode 100644 > > index 000000000000..eb9ae1c2c99c > > --- /dev/null > > +++ b/drivers/clk/mediatek/clk-mt6765-vcodec.c > > @@ -0,0 +1,79 @@ > > +// SPDX-License-Identifier: GPL-2.0 > > +/* > > + * Copyright (c) 2018 MediaTek Inc. > > + * Author: Owen Chen > > + * > > + * This program is free software; you can redistribute it and/or modify > > + * it under the terms of the GNU General Public License version 2 as > > + * published by the Free Software Foundation. > > + * > > + * This program is distributed in the hope that it will be useful, > > + * but WITHOUT ANY WARRANTY; without even the implied warranty of > > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > > + * GNU General Public License for more details. > > + */ > > SPDX tags. > > > diff --git a/drivers/clk/mediatek/clk-mt6765.c b/drivers/clk/mediatek/clk-mt6765.c > > new file mode 100644 > > index 000000000000..f716a48a926d > > --- /dev/null > > +++ b/drivers/clk/mediatek/clk-mt6765.c > > @@ -0,0 +1,961 @@ > > +// SPDX-License-Identifier: GPL-2.0 > > +/* > > + * Copyright (c) 2018 MediaTek Inc. > > + * Author: Owen Chen > > + * > > + * This program is free software; you can redistribute it and/or modify > > + * it under the terms of the GNU General Public License version 2 as > > + * published by the Free Software Foundation. > > + * > > + * This program is distributed in the hope that it will be useful, > > + * but WITHOUT ANY WARRANTY; without even the implied warranty of > > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > > + * GNU General Public License for more details. > > SPDX tags. > > > + */ > > + > > +#include > > +#include > > +#include > > +#include > > +#include > > Is this used? Maybe I deleted it. > > > +#include > > +#include > [...] > > + > > +static const char * const axi_parents[] = { > > + "clk26m", > > + "syspll_d7", > > + "syspll1_d4", > > + "syspll3_d2" > > +}; > > + > > +static const char * const mem_parents[] = { > > + "clk26m", > > + "dmpll_ck", > > + "apll1_ck" > > +}; > > + > > +static const char * const mm_parents[] = { > > + "clk26m", > > + "mmpll_ck", > > + "syspll1_d2", > > + "syspll_d5", > > + "syspll1_d4", > > + "univpll_d5", > > + "univpll1_d2", > > + "mmpll_d2" > > +}; > > + > > +static const char * const scp_parents[] = { > > + "clk26m", > > + "syspll4_d2", > > + "univpll2_d2", > > + "syspll1_d2", > > + "univpll1_d2", > > + "syspll_d3", > > + "univpll_d3" > > +}; > > + > > +static const char * const mfg_parents[] = { > > + "clk26m", > > + "mfgpll_ck", > > + "syspll_d3", > > + "univpll_d3" > > +}; > > + > > +static const char * const atb_parents[] = { > > + "clk26m", > > + "syspll1_d4", > > + "syspll1_d2" > > +}; > > + > > +static const char * const camtg_parents[] = { > > + "clk26m", > > + "usb20_192m_d8", > > + "univpll2_d8", > > + "usb20_192m_d4", > > + "univpll2_d32", > > + "usb20_192m_d16", > > + "usb20_192m_d32" > > +}; > > + > > +static const char * const uart_parents[] = { > > + "clk26m", > > + "univpll2_d8" > > +}; > > + > > +static const char * const spi_parents[] = { > > + "clk26m", > > + "syspll3_d2", > > + "syspll4_d2", > > + "syspll2_d4" > > +}; > > + > > +static const char * const msdc5hclk_parents[] = { > > + "clk26m", > > + "syspll1_d2", > > + "univpll1_d4", > > + "syspll2_d2" > > +}; > > + > > +static const char * const msdc50_0_parents[] = { > > + "clk26m", > > + "msdcpll_ck", > > + "syspll2_d2", > > + "syspll4_d2", > > + "univpll1_d2", > > + "syspll1_d2", > > + "univpll_d5", > > + "univpll1_d4" > > +}; > > + > > +static const char * const msdc30_1_parents[] = { > > + "clk26m", > > + "msdcpll_d2", > > + "univpll2_d2", > > + "syspll2_d2", > > + "syspll1_d4", > > + "univpll1_d4", > > + "usb20_192m_d4", > > + "syspll2_d4" > > +}; > > + > > +static const char * const audio_parents[] = { > > + "clk26m", > > + "syspll3_d4", > > + "syspll4_d4", > > + "syspll1_d16" > > +}; > > + > > +static const char * const aud_intbus_parents[] = { > > + "clk26m", > > + "syspll1_d4", > > + "syspll4_d2" > > +}; > > + > > +static const char * const aud_1_parents[] = { > > + "clk26m", > > + "apll1_ck" > > +}; > > + > > +static const char * const aud_engen1_parents[] = { > > + "clk26m", > > + "apll1_d2", > > + "apll1_d4", > > + "apll1_d8" > > +}; > > + > > +static const char * const disp_pwm_parents[] = { > > + "clk26m", > > + "univpll2_d4", > > + "ulposc1_d2", > > + "ulposc1_d8" > > +}; > > + > > +static const char * const sspm_parents[] = { > > + "clk26m", > > + "syspll1_d2", > > + "syspll_d3" > > +}; > > + > > +static const char * const dxcc_parents[] = { > > + "clk26m", > > + "syspll1_d2", > > + "syspll1_d4", > > + "syspll1_d8" > > +}; > > + > > +static const char * const usb_top_parents[] = { > > + "clk26m", > > + "univpll3_d4" > > +}; > > + > > +static const char * const spm_parents[] = { > > + "clk26m", > > + "syspll1_d8" > > +}; > > + > > +static const char * const i2c_parents[] = { > > + "clk26m", > > + "univpll3_d4", > > + "univpll3_d2", > > + "syspll1_d8", > > + "syspll2_d8" > > +}; > > + > > +static const char * const pwm_parents[] = { > > + "clk26m", > > + "univpll3_d4", > > + "syspll1_d8" > > +}; > > + > > +static const char * const seninf_parents[] = { > > + "clk26m", > > + "univpll1_d4", > > + "univpll1_d2", > > + "univpll2_d2" > > +}; > > + > > +static const char * const aes_fde_parents[] = { > > + "clk26m", > > + "msdcpll_ck", > > + "univpll_d3", > > + "univpll2_d2", > > + "univpll1_d2", > > + "syspll1_d2" > > +}; > > + > > +static const char * const ulposc_parents[] = { > > + "clk26m", > > + "ulposc1_d4", > > + "ulposc1_d8", > > + "ulposc1_d16", > > + "ulposc1_d32" > > +}; > > + > > +static const char * const camtm_parents[] = { > > + "clk26m", > > + "univpll1_d4", > > + "univpll1_d2", > > + "univpll2_d2" > > +}; > > + > > Can you migrate this driver to the new way of specifying clk parents? > That way we don't just have lists of strings. > Do you mean hide the string list information inside DTS file or clk header file? > > +#define INVALID_UPDATE_REG 0xFFFFFFFF > > +#define INVALID_UPDATE_SHIFT -1 > > +#define INVALID_MUX_GATE -1 > > + > > +static const struct mtk_mux top_muxes[] = { > > + /* CLK_CFG_0 */ > > + MUX_GATE_CLR_SET_UPD_FLAGS(CLK_TOP_AXI_SEL, "axi_sel", axi_parents, > > + CLK_CFG_0, CLK_CFG_0_SET, CLK_CFG_0_CLR, > > + 0, 2, 7, CLK_CFG_UPDATE, 0, CLK_IS_CRITICAL), > > Please add a comment why CLK_IS_CRITICAL flag is used in each place. > > > + MUX_GATE_CLR_SET_UPD_FLAGS(CLK_TOP_MEM_SEL, "mem_sel", mem_parents, > > + CLK_CFG_0, CLK_CFG_0_SET, CLK_CFG_0_CLR, > > + 8, 2, 15, CLK_CFG_UPDATE, 1, CLK_IS_CRITICAL), > > + MUX_GATE_CLR_SET_UPD(CLK_TOP_MM_SEL, "mm_sel", mm_parents, CLK_CFG_0, > > + CLK_CFG_0_SET, CLK_CFG_0_CLR, 16, 3, 23, > > + CLK_CFG_UPDATE, 2), > > + MUX_GATE_CLR_SET_UPD(CLK_TOP_SCP_SEL, "scp_sel", scp_parents, CLK_CFG_0, > > + CLK_CFG_0_SET, CLK_CFG_0_CLR, 24, 3, 31, > > + CLK_CFG_UPDATE, 3), > [...] > > + }, { > > + .compatible = "mediatek,mt6765-topckgen", > > + .data = clk_mt6765_top_probe, > > + }, { > > + .compatible = "mediatek,mt6765-infracfg", > > + .data = clk_mt6765_ifr_probe, > > + }, { > > + /* sentinel */ > > + } > > +}; > > + > > +static int clk_mt6765_probe(struct platform_device *pdev) > > +{ > > + int (*clk_probe)(struct platform_device *d); > > + int r; > > + > > + clk_probe = of_device_get_match_data(&pdev->dev); > > + if (!clk_probe) > > + return -EINVAL; > > + > > + r = clk_probe(pdev); > > + if (r) > > + dev_err(&pdev->dev, > > + "could not register clock provider: %s: %d\n", > > + pdev->name, r); > > + > > + return r; > > +} > > + > > +static struct platform_driver clk_mt6765_drv = { > > + .probe = clk_mt6765_probe, > > + .driver = { > > + .name = "clk-mt6765", > > + .owner = THIS_MODULE, > > Remove this line, platform_driver_register() should take care of it. > > > + .of_match_table = of_match_clk_mt6765, > > + }, > > +}; > > + _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel