Re: [PATCH 1/6] mmc: dw_mmc: remove the deprecated "clock-freq-min-max" property

2018-03-15 Thread Jaehoon Chung
On 03/15/2018 07:22 PM, Ulf Hansson wrote:
> On 23 February 2018 at 07:41, Jaehoon Chung  wrote:
>> 'clock-freq-min-max' property had already deprecated.
>> Remove the 'clock-freq-min-max' property that is kept to maintain
>> the compatibility.
>>
>> Signed-off-by: Jaehoon Chung 
> 
> Thanks, applied for next!

Sorry. Thanks for applying this. :)

Best Regards,
Jaehoon Chung

> 
> Kind regards
> Uffe
> 
>> ---
>>  .../devicetree/bindings/mmc/synopsys-dw-mshc.txt  |  4 
>>  drivers/mmc/host/dw_mmc.c | 15 
>> ---
>>  2 files changed, 4 insertions(+), 15 deletions(-)
>>
>> diff --git a/Documentation/devicetree/bindings/mmc/synopsys-dw-mshc.txt 
>> b/Documentation/devicetree/bindings/mmc/synopsys-dw-mshc.txt
>> index ef3e5f14067a..75c9fdca4aaf 100644
>> --- a/Documentation/devicetree/bindings/mmc/synopsys-dw-mshc.txt
>> +++ b/Documentation/devicetree/bindings/mmc/synopsys-dw-mshc.txt
>> @@ -59,10 +59,6 @@ Optional properties:
>>is specified and the ciu clock is specified then we'll try to set the ciu
>>clock to this at probe time.
>>
>> -* clock-freq-min-max (DEPRECATED): Minimum and Maximum clock frequency for 
>> card output
>> -  clock(cclk_out). If it's not specified, max is 200MHZ and min is 400KHz 
>> by default.
>> - (Use the "max-frequency" instead of "clock-freq-min-max".)
>> -
>>  * num-slots (DEPRECATED): specifies the number of slots supported by the 
>> controller.
>>The number of physical slots actually used could be equal or less than the
>>value specified by num-slots. If this property is not specified, the value
>> diff --git a/drivers/mmc/host/dw_mmc.c b/drivers/mmc/host/dw_mmc.c
>> index 0aa39975f33b..38e0e7c4ffd9 100644
>> --- a/drivers/mmc/host/dw_mmc.c
>> +++ b/drivers/mmc/host/dw_mmc.c
>> @@ -2784,7 +2784,6 @@ static int dw_mci_init_slot(struct dw_mci *host)
>> struct dw_mci_slot *slot;
>> const struct dw_mci_drv_data *drv_data = host->drv_data;
>> int ctrl_id, ret;
>> -   u32 freq[2];
>>
>> mmc = mmc_alloc_host(sizeof(struct dw_mci_slot), host->dev);
>> if (!mmc)
>> @@ -2798,16 +2797,6 @@ static int dw_mci_init_slot(struct dw_mci *host)
>> host->slot = slot;
>>
>> mmc->ops = &dw_mci_ops;
>> -   if (device_property_read_u32_array(host->dev, "clock-freq-min-max",
>> -  freq, 2)) {
>> -   mmc->f_min = DW_MCI_FREQ_MIN;
>> -   mmc->f_max = DW_MCI_FREQ_MAX;
>> -   } else {
>> -   dev_info(host->dev,
>> -   "'clock-freq-min-max' property was deprecated.\n");
>> -   mmc->f_min = freq[0];
>> -   mmc->f_max = freq[1];
>> -   }
>>
>> /*if there are external regulators, get them*/
>> ret = mmc_regulator_get_supply(mmc);
>> @@ -2846,6 +2835,10 @@ static int dw_mci_init_slot(struct dw_mci *host)
>> if (ret)
>> goto err_host_allocated;
>>
>> +   mmc->f_min = DW_MCI_FREQ_MIN;
>> +   if (!mmc->f_max)
>> +   mmc->f_max = DW_MCI_FREQ_MAX;
>> +
>> /* Process SDIO IRQs through the sdio_irq_work. */
>> if (mmc->caps & MMC_CAP_SDIO_IRQ)
>> mmc->caps2 |= MMC_CAP2_SDIO_IRQ_NOTHREAD;
>> --
>> 2.15.1
>>
> 
> 
> 



Re: [PATCH 1/6] mmc: dw_mmc: remove the deprecated "clock-freq-min-max" property

2018-03-15 Thread Ulf Hansson
On 23 February 2018 at 07:41, Jaehoon Chung  wrote:
> 'clock-freq-min-max' property had already deprecated.
> Remove the 'clock-freq-min-max' property that is kept to maintain
> the compatibility.
>
> Signed-off-by: Jaehoon Chung 

Thanks, applied for next!

Kind regards
Uffe

> ---
>  .../devicetree/bindings/mmc/synopsys-dw-mshc.txt  |  4 
>  drivers/mmc/host/dw_mmc.c | 15 
> ---
>  2 files changed, 4 insertions(+), 15 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/mmc/synopsys-dw-mshc.txt 
> b/Documentation/devicetree/bindings/mmc/synopsys-dw-mshc.txt
> index ef3e5f14067a..75c9fdca4aaf 100644
> --- a/Documentation/devicetree/bindings/mmc/synopsys-dw-mshc.txt
> +++ b/Documentation/devicetree/bindings/mmc/synopsys-dw-mshc.txt
> @@ -59,10 +59,6 @@ Optional properties:
>is specified and the ciu clock is specified then we'll try to set the ciu
>clock to this at probe time.
>
> -* clock-freq-min-max (DEPRECATED): Minimum and Maximum clock frequency for 
> card output
> -  clock(cclk_out). If it's not specified, max is 200MHZ and min is 400KHz by 
> default.
> - (Use the "max-frequency" instead of "clock-freq-min-max".)
> -
>  * num-slots (DEPRECATED): specifies the number of slots supported by the 
> controller.
>The number of physical slots actually used could be equal or less than the
>value specified by num-slots. If this property is not specified, the value
> diff --git a/drivers/mmc/host/dw_mmc.c b/drivers/mmc/host/dw_mmc.c
> index 0aa39975f33b..38e0e7c4ffd9 100644
> --- a/drivers/mmc/host/dw_mmc.c
> +++ b/drivers/mmc/host/dw_mmc.c
> @@ -2784,7 +2784,6 @@ static int dw_mci_init_slot(struct dw_mci *host)
> struct dw_mci_slot *slot;
> const struct dw_mci_drv_data *drv_data = host->drv_data;
> int ctrl_id, ret;
> -   u32 freq[2];
>
> mmc = mmc_alloc_host(sizeof(struct dw_mci_slot), host->dev);
> if (!mmc)
> @@ -2798,16 +2797,6 @@ static int dw_mci_init_slot(struct dw_mci *host)
> host->slot = slot;
>
> mmc->ops = &dw_mci_ops;
> -   if (device_property_read_u32_array(host->dev, "clock-freq-min-max",
> -  freq, 2)) {
> -   mmc->f_min = DW_MCI_FREQ_MIN;
> -   mmc->f_max = DW_MCI_FREQ_MAX;
> -   } else {
> -   dev_info(host->dev,
> -   "'clock-freq-min-max' property was deprecated.\n");
> -   mmc->f_min = freq[0];
> -   mmc->f_max = freq[1];
> -   }
>
> /*if there are external regulators, get them*/
> ret = mmc_regulator_get_supply(mmc);
> @@ -2846,6 +2835,10 @@ static int dw_mci_init_slot(struct dw_mci *host)
> if (ret)
> goto err_host_allocated;
>
> +   mmc->f_min = DW_MCI_FREQ_MIN;
> +   if (!mmc->f_max)
> +   mmc->f_max = DW_MCI_FREQ_MAX;
> +
> /* Process SDIO IRQs through the sdio_irq_work. */
> if (mmc->caps & MMC_CAP_SDIO_IRQ)
> mmc->caps2 |= MMC_CAP2_SDIO_IRQ_NOTHREAD;
> --
> 2.15.1
>


Re: [PATCH 1/6] mmc: dw_mmc: remove the deprecated "clock-freq-min-max" property

2018-03-02 Thread Rob Herring
On Fri, Feb 23, 2018 at 03:41:33PM +0900, Jaehoon Chung wrote:
> 'clock-freq-min-max' property had already deprecated.
> Remove the 'clock-freq-min-max' property that is kept to maintain
> the compatibility.
> 
> Signed-off-by: Jaehoon Chung 
> ---
>  .../devicetree/bindings/mmc/synopsys-dw-mshc.txt  |  4 
>  drivers/mmc/host/dw_mmc.c | 15 
> ---
>  2 files changed, 4 insertions(+), 15 deletions(-)

In no way an endorsement that this is the right time to remove,

Reviewed-by: Rob Herring 


Re: [PATCH 1/6] mmc: dw_mmc: remove the deprecated "clock-freq-min-max" property

2018-03-02 Thread Rob Herring
On Fri, Feb 23, 2018 at 06:16:39PM +0200, Andy Shevchenko wrote:
> On Fri, Feb 23, 2018 at 4:19 PM, Shawn Lin  wrote:
> > On 2018/2/23 21:27, Andy Shevchenko wrote:
> >> On Fri, Feb 23, 2018 at 8:41 AM, Jaehoon Chung 
> >> wrote:
> >>>
> >>> 'clock-freq-min-max' property had already deprecated.
> >>> Remove the 'clock-freq-min-max' property that is kept to maintain
> >>> the compatibility.
> >>
> >>
> >> Removing a property without telling the user what to expect is a bad
> >> idea and ABI breakage.
> >>
> >
> > What's the general process to remove a property?
> >
> > I guess we should do:
> > 1) deprecate it in the first place and remove it from all upstream DT

Yes

> > 2) wait some long enough days for expecting the stale of all old DTB
> > containing that property

Yes. How long that is depends on the platform. I think the minimum is 1 
release cycle. Some stable platforms are years. If there are other DT 
changes with new features everyone should want/need, then that can be a 
decision point.

Given this is a shared IP block it's harder to know, so you may need to 
err on the longer side.

> > 3) remove the functionality of the deprecated property from the driver
> > but still leave some warning there

I'd say add a warning in step 1 and combine 3 and 4.

> > 4) remove the left warning finally
> 
> I don't know. Perhaps Rob can shed a light here.
> But I would really OK with removal of some of such properties from
> some drivers where it's more burden to keep them.
> 
> > And for the ABI breakage, we should add something in Documentation/ABI
> > /obsolete  or Documentation/ABI/removed ?

It is only an ABI break if someone notices.

Rob


Re: [PATCH 1/6] mmc: dw_mmc: remove the deprecated "clock-freq-min-max" property -- You wokr with japanese after they fucked you

2018-02-25 Thread thetruthbeforeus
You all know that you're working with white and japanese mthr fuckers 
right? you just fine with that? After what they did to your people? Ok 
then. You be you. You be you.


Here's some real talk about the while mother fuckers:
https://www.liveleak.com/view?i=c34_1519605684

On 2018-02-26 02:07, Jaehoon Chung wrote:

On 02/24/2018 01:16 AM, Andy Shevchenko wrote:
On Fri, Feb 23, 2018 at 4:19 PM, Shawn Lin  
wrote:

On 2018/2/23 21:27, Andy Shevchenko wrote:
On Fri, Feb 23, 2018 at 8:41 AM, Jaehoon Chung 


wrote:


'clock-freq-min-max' property had already deprecated.
Remove the 'clock-freq-min-max' property that is kept to maintain
the compatibility.



Removing a property without telling the user what to expect is a bad
idea and ABI breakage.



What's the general process to remove a property?

I guess we should do:
1) deprecate it in the first place and remove it from all upstream DT
2) wait some long enough days for expecting the stale of all old DTB
containing that property
3) remove the functionality of the deprecated property from the 
driver

but still leave some warning there
4) remove the left warning finally


I don't know. Perhaps Rob can shed a light here.
But I would really OK with removal of some of such properties from
some drivers where it's more burden to keep them.


This property had deprecated about 8months ago.
I think that it was enough to keep this property for maintaining the
compatibility.

I didn't remove this property without any alternative.

Best Regards,
Jaehoon Chung



And for the ABI breakage, we should add something in 
Documentation/ABI

/obsolete  or Documentation/ABI/removed ?




Re: [PATCH 1/6] mmc: dw_mmc: remove the deprecated "clock-freq-min-max" property

2018-02-25 Thread Jaehoon Chung
On 02/24/2018 01:16 AM, Andy Shevchenko wrote:
> On Fri, Feb 23, 2018 at 4:19 PM, Shawn Lin  wrote:
>> On 2018/2/23 21:27, Andy Shevchenko wrote:
>>> On Fri, Feb 23, 2018 at 8:41 AM, Jaehoon Chung 
>>> wrote:

 'clock-freq-min-max' property had already deprecated.
 Remove the 'clock-freq-min-max' property that is kept to maintain
 the compatibility.
>>>
>>>
>>> Removing a property without telling the user what to expect is a bad
>>> idea and ABI breakage.
>>>
>>
>> What's the general process to remove a property?
>>
>> I guess we should do:
>> 1) deprecate it in the first place and remove it from all upstream DT
>> 2) wait some long enough days for expecting the stale of all old DTB
>> containing that property
>> 3) remove the functionality of the deprecated property from the driver
>> but still leave some warning there
>> 4) remove the left warning finally
> 
> I don't know. Perhaps Rob can shed a light here.
> But I would really OK with removal of some of such properties from
> some drivers where it's more burden to keep them.

This property had deprecated about 8months ago.
I think that it was enough to keep this property for maintaining the 
compatibility.

I didn't remove this property without any alternative.

Best Regards,
Jaehoon Chung

> 
>> And for the ABI breakage, we should add something in Documentation/ABI
>> /obsolete  or Documentation/ABI/removed ?
> 



Re: [PATCH 1/6] mmc: dw_mmc: remove the deprecated "clock-freq-min-max" property

2018-02-23 Thread Andy Shevchenko
On Fri, Feb 23, 2018 at 4:19 PM, Shawn Lin  wrote:
> On 2018/2/23 21:27, Andy Shevchenko wrote:
>> On Fri, Feb 23, 2018 at 8:41 AM, Jaehoon Chung 
>> wrote:
>>>
>>> 'clock-freq-min-max' property had already deprecated.
>>> Remove the 'clock-freq-min-max' property that is kept to maintain
>>> the compatibility.
>>
>>
>> Removing a property without telling the user what to expect is a bad
>> idea and ABI breakage.
>>
>
> What's the general process to remove a property?
>
> I guess we should do:
> 1) deprecate it in the first place and remove it from all upstream DT
> 2) wait some long enough days for expecting the stale of all old DTB
> containing that property
> 3) remove the functionality of the deprecated property from the driver
> but still leave some warning there
> 4) remove the left warning finally

I don't know. Perhaps Rob can shed a light here.
But I would really OK with removal of some of such properties from
some drivers where it's more burden to keep them.

> And for the ABI breakage, we should add something in Documentation/ABI
> /obsolete  or Documentation/ABI/removed ?

-- 
With Best Regards,
Andy Shevchenko


Re: [PATCH 1/6] mmc: dw_mmc: remove the deprecated "clock-freq-min-max" property

2018-02-23 Thread Shawn Lin

Hi Andy,

On 2018/2/23 21:27, Andy Shevchenko wrote:

On Fri, Feb 23, 2018 at 8:41 AM, Jaehoon Chung  wrote:

'clock-freq-min-max' property had already deprecated.
Remove the 'clock-freq-min-max' property that is kept to maintain
the compatibility.


Removing a property without telling the user what to expect is a bad
idea and ABI breakage.



What's the general process to remove a property?

I guess we should do:
1) deprecate it in the first place and remove it from all upstream DT
2) wait some long enough days for expecting the stale of all old DTB
containing that property
3) remove the functionality of the deprecated property from the driver
but still leave some warning there
4) remove the left warning finally

And for the ABI breakage, we should add something in Documentation/ABI
/obsolete  or Documentation/ABI/removed ?

--
Best Regards
Shawn Lin



Re: [PATCH 1/6] mmc: dw_mmc: remove the deprecated "clock-freq-min-max" property

2018-02-23 Thread Andy Shevchenko
On Fri, Feb 23, 2018 at 8:41 AM, Jaehoon Chung  wrote:
> 'clock-freq-min-max' property had already deprecated.
> Remove the 'clock-freq-min-max' property that is kept to maintain
> the compatibility.

Removing a property without telling the user what to expect is a bad
idea and ABI breakage.

-- 
With Best Regards,
Andy Shevchenko


[PATCH 1/6] mmc: dw_mmc: remove the deprecated "clock-freq-min-max" property

2018-02-22 Thread Jaehoon Chung
'clock-freq-min-max' property had already deprecated.
Remove the 'clock-freq-min-max' property that is kept to maintain
the compatibility.

Signed-off-by: Jaehoon Chung 
---
 .../devicetree/bindings/mmc/synopsys-dw-mshc.txt  |  4 
 drivers/mmc/host/dw_mmc.c | 15 ---
 2 files changed, 4 insertions(+), 15 deletions(-)

diff --git a/Documentation/devicetree/bindings/mmc/synopsys-dw-mshc.txt 
b/Documentation/devicetree/bindings/mmc/synopsys-dw-mshc.txt
index ef3e5f14067a..75c9fdca4aaf 100644
--- a/Documentation/devicetree/bindings/mmc/synopsys-dw-mshc.txt
+++ b/Documentation/devicetree/bindings/mmc/synopsys-dw-mshc.txt
@@ -59,10 +59,6 @@ Optional properties:
   is specified and the ciu clock is specified then we'll try to set the ciu
   clock to this at probe time.
 
-* clock-freq-min-max (DEPRECATED): Minimum and Maximum clock frequency for 
card output
-  clock(cclk_out). If it's not specified, max is 200MHZ and min is 400KHz by 
default.
- (Use the "max-frequency" instead of "clock-freq-min-max".)
-
 * num-slots (DEPRECATED): specifies the number of slots supported by the 
controller.
   The number of physical slots actually used could be equal or less than the
   value specified by num-slots. If this property is not specified, the value
diff --git a/drivers/mmc/host/dw_mmc.c b/drivers/mmc/host/dw_mmc.c
index 0aa39975f33b..38e0e7c4ffd9 100644
--- a/drivers/mmc/host/dw_mmc.c
+++ b/drivers/mmc/host/dw_mmc.c
@@ -2784,7 +2784,6 @@ static int dw_mci_init_slot(struct dw_mci *host)
struct dw_mci_slot *slot;
const struct dw_mci_drv_data *drv_data = host->drv_data;
int ctrl_id, ret;
-   u32 freq[2];
 
mmc = mmc_alloc_host(sizeof(struct dw_mci_slot), host->dev);
if (!mmc)
@@ -2798,16 +2797,6 @@ static int dw_mci_init_slot(struct dw_mci *host)
host->slot = slot;
 
mmc->ops = &dw_mci_ops;
-   if (device_property_read_u32_array(host->dev, "clock-freq-min-max",
-  freq, 2)) {
-   mmc->f_min = DW_MCI_FREQ_MIN;
-   mmc->f_max = DW_MCI_FREQ_MAX;
-   } else {
-   dev_info(host->dev,
-   "'clock-freq-min-max' property was deprecated.\n");
-   mmc->f_min = freq[0];
-   mmc->f_max = freq[1];
-   }
 
/*if there are external regulators, get them*/
ret = mmc_regulator_get_supply(mmc);
@@ -2846,6 +2835,10 @@ static int dw_mci_init_slot(struct dw_mci *host)
if (ret)
goto err_host_allocated;
 
+   mmc->f_min = DW_MCI_FREQ_MIN;
+   if (!mmc->f_max)
+   mmc->f_max = DW_MCI_FREQ_MAX;
+
/* Process SDIO IRQs through the sdio_irq_work. */
if (mmc->caps & MMC_CAP_SDIO_IRQ)
mmc->caps2 |= MMC_CAP2_SDIO_IRQ_NOTHREAD;
-- 
2.15.1