From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752455AbcBBEmn (ORCPT ); Mon, 1 Feb 2016 23:42:43 -0500 Received: from mailout2.samsung.com ([203.254.224.25]:54206 "EHLO mailout2.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752111AbcBBEmk (ORCPT ); Mon, 1 Feb 2016 23:42:40 -0500 X-AuditID: cbfee68d-f79646d000001355-ee-56b033be8316 Message-id: <56B033BE.5040102@samsung.com> Date: Tue, 02 Feb 2016 13:42:38 +0900 From: Jaehoon Chung User-Agent: Mozilla/5.0 (X11; Linux i686; rv:31.0) Gecko/20100101 Thunderbird/31.6.0 MIME-version: 1.0 To: Shawn Lin , Ulf Hansson Cc: linux-mmc@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] mmc: dw_mmc: fix num_slots setting References: <1453448584-9854-1-git-send-email-shawn.lin@rock-chips.com> In-reply-to: <1453448584-9854-1-git-send-email-shawn.lin@rock-chips.com> Content-type: text/plain; charset=windows-1252 Content-transfer-encoding: 7bit X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFmpjkeLIzCtJLcpLzFFi42JZI2JSpLvPeEOYwY2/6haXd81hszjyv5/R 4s6T9awWx9eGO7B43Lm2h83j76z9LB6fN8kFMEdx2aSk5mSWpRbp2yVwZXTOsCk4wFfxbvcU 9gbGDu4uRk4OCQETicn79rJC2GISF+6tZ+ti5OIQEljBKPHn/xlGmKI3U4+xQySWMkq0/FjH AuE8YJTo/zOBHaSKV0BL4tOVq2wgNouAqsSNay/A4mwCOhLbvx1nArFFBcIkHqyDWMcrICjx Y/I9FhBbRMBPYuuOrWC9zALWEj9/tILVCAuYSyy6eZ8ZxBYScJf4+/E/2BxOAQ+JSd1TgXo5 gOr1JO5f1IJolZfYvOYtM8TRq9glDj4ogjhHQOLb5ENg5RICshKbDkCVSEocXHGDZQKj2Cwk B81CGDoLydAFjMyrGEVTC5ILipPSiwz1ihNzi0vz0vWS83M3MQKj5/S/Z707GG8fsD7EKMDB qMTD27F2fZgQa2JZcWXuIUZToCMmMkuJJucDYzSvJN7Q2MzIwtTE1NjI3NJMSZxXUepnsJBA emJJanZqakFqUXxRaU5q8SFGJg5OqQZGnrUFjjnztQLCVO7PZvleXrdW0rJPgU37sJv/j2vf N5Y9cLlQ4HRzRV5M3ravwhOlNjw0Pbswd7NOfexKTuN+Q5fpXNNYWaxWfbl0fRqH6EOtO0z/ zT9fWBwft/RJ2SH7uivqq5d7XV5UP8nadvN78cXXrl31bV4ib8G/6r+cWY7dnTLe6x+VlViK MxINtZiLihMBFhV+2ZkCAAA= X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrCIsWRmVeSWpSXmKPExsVy+t9jAd19xhvCDHp+KFlc3jWHzeLI/35G iztP1rNaHF8b7sDicefaHjaPv7P2s3h83iQXwBzVwGiTkZqYklqkkJqXnJ+SmZduq+QdHO8c b2pmYKhraGlhrqSQl5ibaqvk4hOg65aZA7RNSaEsMacUKBSQWFyspG+HaUJoiJuuBUxjhK5v SBBcj5EBGkhYw5jROcOm4ABfxbvdU9gbGDu4uxg5OSQETCTeTD3GDmGLSVy4t56ti5GLQ0hg KaNEy491LBDOA0aJ/j8TwKp4BbQkPl25ygZiswioSty49gIsziagI7H923EmEFtUIEziwbq9 rBD1ghI/Jt9jAbFFBPwktu7YCtbLLGAt8fNHK1iNsIC5xKKb95lBbCEBd4m/H/+DzeEU8JCY 1D0VqJcDqF5P4v5FLYhWeYnNa94yT2AUmIVkwyyEqllIqhYwMq9ilEgtSC4oTkrPNcxLLdcr TswtLs1L10vOz93ECI7RZ1I7GA/ucj/EKMDBqMTDa7h6fZgQa2JZcWXuIUYJDmYlEV4hjQ1h QrwpiZVVqUX58UWlOanFhxhNgUEwkVlKNDkfmD7ySuINjU3MjCyNzA0tjIzNlcR5H/9fFyYk kJ5YkpqdmlqQWgTTx8TBKdXAeDRbZ/8K3wULDqlYztniEHXW0mJWzZS1SctvpLzgusryYn8L l4b1C9f8nmtzH7svv3Q8zufbJY8Lmm6RWx5PWNXZdiVf/v12pqPc78s/7zGxXXPrSeLTpddn mast0FyZWhhrGbbd4V9o8Z6ylEKNshSZaIG6bcdeLpI8znJUm9FY++8K6zb7dUosxRmJhlrM RcWJAJieBLLnAgAA DLP-Filter: Pass X-MTR: 20000000000000000@CPGS X-CFilter-Loop: Reflected Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi, Shawn. On 01/22/2016 04:43 PM, Shawn Lin wrote: > This patch make num_slots to 1 if pdata->num_slot is not > defined. Meanwhile, we need to make sure num_slots should > not larger that the supported slots > > Signed-off-by: Shawn Lin > --- > > drivers/mmc/host/dw_mmc.c | 16 +++++++++------- > 1 file changed, 9 insertions(+), 7 deletions(-) > > diff --git a/drivers/mmc/host/dw_mmc.c b/drivers/mmc/host/dw_mmc.c > index 7128351..065a8f5 100644 > --- a/drivers/mmc/host/dw_mmc.c > +++ b/drivers/mmc/host/dw_mmc.c > @@ -2949,12 +2949,6 @@ int dw_mci_probe(struct dw_mci *host) > } > } > > - if (host->pdata->num_slots < 1) { > - dev_err(host->dev, > - "Platform data must supply num_slots.\n"); > - return -ENODEV; > - } > - > host->biu_clk = devm_clk_get(host->dev, "biu"); > if (IS_ERR(host->biu_clk)) { > dev_dbg(host->dev, "biu clock not available\n"); > @@ -3111,7 +3105,15 @@ int dw_mci_probe(struct dw_mci *host) > if (host->pdata->num_slots) > host->num_slots = host->pdata->num_slots; > else > - host->num_slots = SDMMC_GET_SLOT_NUM(mci_readl(host, HCON)); > + host->num_slots = 1; If host->nums_slots is set to 1, it assumes that there is one slot. Then the code in dw_mci_parse_dt() can be removed dev_info(dev, "num-slots property not found, assuming 1 slot is available\n"); pdata->num_slots = 1; Best Regards, Jaehoon Chung > + > + if (host->num_slots < 1 || > + host->num_slots > SDMMC_GET_SLOT_NUM(mci_readl(host, HCON))) { > + dev_err(host->dev, > + "Platform data must supply correct num_slots.\n"); > + ret = -ENODEV; > + goto err_clk_ciu; > + } > > /* > * Enable interrupts for command done, data over, data empty, >