Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754673AbbLPOos (ORCPT ); Wed, 16 Dec 2015 09:44:48 -0500 Received: from mail-bl2on0054.outbound.protection.outlook.com ([65.55.169.54]:32000 "EHLO na01-bl2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751758AbbLPOop (ORCPT ); Wed, 16 Dec 2015 09:44:45 -0500 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Suravee.Suthikulpanit@amd.com; Subject: Re: [PATCH] i2c: designware: Do not require clock when SSCN and FFCN are provided To: Mika Westerberg References: <1450219138-5868-1-git-send-email-Suravee.Suthikulpanit@amd.com> <20151216094202.GR1762@lahna.fi.intel.com> <56717100.3020602@amd.com> <20151216142810.GW1762@lahna.fi.intel.com> CC: , , , , , , Jarkko Nikula , Andy Shevchenko From: Suravee Suthikulpanit Message-ID: <567178D2.30002@amd.com> Date: Wed, 16 Dec 2015 08:44:34 -0600 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.4.0 MIME-Version: 1.0 In-Reply-To: <20151216142810.GW1762@lahna.fi.intel.com> Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [2605:6000:101a:c02f:29cd:baab:f2fb:e346] X-ClientProxiedBy: SN1PR0501CA0008.namprd05.prod.outlook.com (25.163.126.146) To CY1PR12MB0443.namprd12.prod.outlook.com (25.163.91.21) X-Microsoft-Exchange-Diagnostics: 1;CY1PR12MB0443;2:PgqOZUgNerpvJ1AeOnR9mlZJTE2fPDNL+4vDKzohN1ijuf86Q5h+TPKalMdfF4oFYu4nODs2T2TndZg2K2pP+GBCX4mdq5aB2eci6HhkzZHoMXeHl5AwmaYk8D1iq4Y4opr2wxwgjd//x1yiPKPKYw==;3:cZI8XdvdNuRFPobm6kHAnXIPgx3ut75HJQCe42x+7MAZYJ2quw+g4xeH7PkHL2Ee6ytnaeNVJHYgianD7Z1mVg+OROwxEulEUnTukfXP6+sNnOCx60xhlLbGCH/m6WTH;25:Yc577Eyra4/ksVeg8MBvZItYyJpLzFRPvZL11VuUYIZrgY+gAPxsAjqRqPYjBOK9exXnnu5bJBy/yiUeJ2ZsimdHjz6qSpp8io8tivJWz0ZyD0Ta5gV9UDh6NbLe7dLuPX/q0NNQ1IK/b2KHdWY2iOcyFY318zq1j++bOYly++VIS/KM5Yj42pneeiMfUFs0sTBxIganzM2X8X7cGlWc9Sr/uicSN8GfogKHnc7+DgnuiPzmw2hIAmXPBq1jW9o41wA6pdkNemHIvoXCVdQbTg== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CY1PR12MB0443; X-Microsoft-Exchange-Diagnostics: 1;CY1PR12MB0443;20:JT3/k6m9Ja0thH0kSiTedWucJ1iVR5H0ueMU52bCI+WoP3c5vwTld5TufEiXqNkx6ZDgai1xdqMi2L5mjrgXMXy5fMpoPdQJ7k1mDBQ1Q7jR2ONgkNky/Up0fl/y7c7EIlJ25r/jhuu9892Fvfm5Q2uu+cpbfbWISg7iRh0VOljxgpk/+qhLbEmBnhL9P1OqUVTvrGyUK25VE7vgPve9KVa+CLTRwRhTAugtclnSpdtof0ebPIgOMFhBNIFo3CLqpr5GkvWXQuOJVt3iWSZshfBoxOFtRT03r8Xk0vRav2JOHq+LWzT8WvnQLWuyWIAqxcr7WXevhzBkEQf8j5DVj1hvnPKSMO6kL6QaPpCAQ7niv7X5ctHmCkvtcR8LUdXN8KJg1AxSGePoZu/QaqPvVF/H8DIvAIj8NHUmiQ+bMUR8J5jbv386g8N3S+wSNox6EG9SmHvF4/7KWJSxCGBg9Oo9jvz4rEnLaWcQulsc/WZWoAYgW2GvAPARv7kLj9Bs;4:P7AuqcXgZ6kvHQwF8rzmOHjbWA8POLCR+WiOroTTPfISNgkuWUJS/awJBqaN5hRXfQAdpS8npCzxEPXbg/8R2/t6YcVv0uC1IPNRCT9k3uxsCE3SDGVt/zZ/jmvXKFlNSx7foIRxHmnw6mfUcbKhNQkbxFZ6gSDOFb9mskzpIYvom5dInhcov+qiEEaxJn+heVb/hsEj6fYYUifJM5WsCkSwBw7EGueZGdwZt+BuZfkPcUT8YXWTp2J6aZAqFF3+DG8RqNTlybhJoPhXXuKhlOJk9bi8myA8FfXUgqxExaFYSrUajRna56OZynWk21V0JTwRg/fKaNARRGpOnMBO2SNAC9lF+6sOCx5taD7dTYolYfyOqNXV2AHSfO1u9eAY X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(520078)(5005006)(8121501046)(3002001)(10201501046);SRVR:CY1PR12MB0443;BCL:0;PCL:0;RULEID:;SRVR:CY1PR12MB0443; X-Forefront-PRVS: 0792DBEAD0 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(6059001)(6009001)(189002)(24454002)(479174004)(377454003)(199003)(164054003)(101416001)(33656002)(65816999)(77096005)(54356999)(2950100001)(50466002)(5008740100001)(23746002)(64126003)(5001960100002)(189998001)(110136002)(36756003)(5004730100002)(122386002)(93886004)(42186005)(83506001)(92566002)(86362001)(1706002)(76176999)(1096002)(586003)(97736004)(230700001)(4001350100001)(81156007)(50986999)(6116002)(40100003)(65806001)(65956001)(87976001)(106356001)(105586002)(47776003)(3826002);DIR:OUT;SFP:1101;SCL:1;SRVR:CY1PR12MB0443;H:[IPv6:2605:6000:101a:c02f:29cd:baab:f2fb:e346];FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1;CY1PR12MB0443;23:uNr55WB9jqEocPlt5HEYECT0p0ZNnDEtMcsXU?= =?Windows-1252?Q?Hk+6oKSMVitglRQb/8wHEJk6yeGXurtZy2FsrsZ0W4JTT993G2kz876v?= =?Windows-1252?Q?p9V5DxjT+ymluHJIh0blN39hd1da9slw9cBLw5jMBlu3rHaRDsObHDqw?= =?Windows-1252?Q?/M4cj8TCESq/ahdmhG9djwtNGVW2GoAsicQMv3r9az2EoBxQufGReYp+?= =?Windows-1252?Q?crWyZ0rolYG64Sk1BuPN6Yf9fZld6SdPO6LIYuE34CQhwNkG5NZ0XKej?= =?Windows-1252?Q?sZOe7+6R95xF7IFDQeRnExqb/rpm8rwDKzcuXlL24k3MKaqtH055IHpS?= =?Windows-1252?Q?NDPJydYAskOQ7j42TQ3bk/Xc4aUMBD4DN4OQugmARcv2P59DxGIRtVes?= =?Windows-1252?Q?mDzX8pdFEVspce/yP18OtZPy+Umw0onobwLGCvccSO79nlKFsN2d4bzK?= =?Windows-1252?Q?niTpXO1EBQ9Zteu0+uCNr30tieaS1sLnLg4Ax0/DuwwSDb9pGgPv7OIc?= =?Windows-1252?Q?IBI5gM7bMA2MP4/4BkExYcJvMT1UT3rhrlwrkgRna+0ZwGJqnihe6jaH?= =?Windows-1252?Q?4mWApeZ9upNw2yJcPvrlnRsIDPyd9iRSArlqYt8rHuRp3Hd2PCswYMAm?= =?Windows-1252?Q?79rx56gODjCi6SIuFjUWWzKLjm0uxiiryRwSk+wD+S1nYNEQD53dhdWB?= =?Windows-1252?Q?H5pKvgmUVzDRMH7u9fgh5WnnNAahuamYO698kstXFQ/CpfzkgXFXRQx8?= =?Windows-1252?Q?4FwFMQqxrKT9LEDDMszvn8tG6RyFnmv7v7k+vFJHFOoYSlhTR57HuXCA?= =?Windows-1252?Q?91LFNULgBM/2BtXlyEWQ4U9d1ANS+Zq/kXPn2ICU5SPEJ65Q6L4aEepQ?= =?Windows-1252?Q?Bl9dFcvv8dryjcYW9xs7iLEMnmNhfs/GivkGBb8Xzi1usSzRBcV1hmnh?= =?Windows-1252?Q?tPGF+4vEhHAsdFSD7GV3DrJiU3yiWAGwu4T7iWsIWJFjNfLoar5hmOie?= =?Windows-1252?Q?+v3Xwy3st937FApOCQRPz1RxTIERhJyuF9Xx0B9eYOYB30uu+u075pNE?= =?Windows-1252?Q?UiHM7pJkKpvEvp/qgompnU2TyVyj6Rs7Yw2IZnVctS8vzSgUncXLvpY6?= =?Windows-1252?Q?pHtWbuu8+j7XsMet00la7pm1Kpsd0oBc0YTjoJSafGIlEEVeFZ7r5nW0?= =?Windows-1252?Q?iCsqA74pEerCof41pk/EwJbTFd1RjR0x+O4V4FSseVu4Hdz0QdJPlFno?= =?Windows-1252?Q?g+A6P6F3IrM1IoYz1kAeMPsuvYlQCc4Pmn8Bb19Cc2+/9WpFhFIYF0Yw?= =?Windows-1252?Q?zj1?= X-Microsoft-Exchange-Diagnostics: 1;CY1PR12MB0443;5:8gzHtxRKZPa+2fA1g3ufFsQCe7MucjnIrS73S1o+F50BRR+7NPMmJj3kNIQfHLE/uERF0CRoLdgb65IM2WulzprQt3wjS6Gp+NPABOkGR/1qF+dxO8VpUEZgS6LUBcW4KnF/laFg+AthQ4wDZlWeBA==;24:puRvC2qSzEUXFitVSQLAgS3IVz1rFW7+k6SngnEb0va6bIklPtH5sEtDkNUZlhFNBGhvRfdHLd3FFu/kH17RlIPOnClu69ygAW5JP2t01Kk=;20:6hfivMfsLVNTH32MKJ3+Rrw/Ir2gKG+v8hObgIq3jBTAoEL7elTxhv9ShmM8dFbvMy5Eg8maF8sz4+aE6E7SmMxX/ZkFsMJX0mmJr9Gjvx+uaK1G/FL8HDW/2glzlsZ2YXd8sOyLh5s7WPkFYOQPjc1FVuuNmtD3NFCRp+Z0Pz8iSMptkeKjYAdOsCjD471YuaImL2u/xVz5QxVvjHN7TSgPeS040uCnm2sqCCvfpZZgFkLdlS2nFrhHQkQvUDXk X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Dec 2015 14:44:40.5196 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR12MB0443 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1856 Lines: 48 On 12/16/2015 08:28 AM, Mika Westerberg wrote: > On Wed, Dec 16, 2015 at 08:11:12AM -0600, Suravee Suthikulpanit wrote: >>> The clk framework should work fine if the returned clock is NULL (which >>> I think is your case). >>> >>> The driver gates clocks when the device is suspended and on Intel LPSS >>> there actually is a clock that gets gated. >>> >>>> [..] >>>> @@ -203,13 +223,11 @@ static int dw_i2c_plat_probe(struct platform_device *pdev) >>>> dev->master_cfg = DW_IC_CON_MASTER | DW_IC_CON_SLAVE_DISABLE | >>>> DW_IC_CON_RESTART_EN | DW_IC_CON_SPEED_FAST; >>>> >>>> - dev->clk = devm_clk_get(&pdev->dev, NULL); >>>> - dev->get_clk_rate_khz = i2c_dw_get_clk_rate_khz; >>>> - if (IS_ERR(dev->clk)) >>>> - return PTR_ERR(dev->clk); >> >> Actually, if we don't provide the clock (which is the case for ACPI), this >> would also return and cause the probing to fail. > > Indeed it seems that when you have CONFIG_COMMON_CLK selected the clock > framework starts returning errors if the clock is not found. > > Since we need the clock for Intel LPSS I2C host controllers (and they > may have *CNT methods), I think you just need to provide the clock for > AMD I2C host controller in similar way than we do in > drivers/acpi/acpi_lpss.c. I am trying to avoid having to hard-coded clock frequency value in the driver. Would it be alright to not return w/ error, and just do the following? dev->clk = devm_clk_get(&pdev->dev, NULL); if (!IS_ERR(dev->clk)) dev->get_clk_rate_khz = i2c_dw_get_clk_rate_khz; This should work for the Intel case when clock is also provided. Thanks, Suravee -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/