Patchwork mtd/physmap_of: Don't add disabled flash devices

login
register
mail settings
Submitter Chunhe Lan
Date Aug. 16, 2011, 9:25 a.m.
Message ID <1313486750-15211-1-git-send-email-Chunhe.Lan@freescale.com>
Download mbox | patch
Permalink /patch/110162/
State New
Headers show

Comments

Chunhe Lan - Aug. 16, 2011, 9:25 a.m.
Flash(cfi-flash, jedec-flash, and so on) nodes with the
property status="disabled" are not usable and so avoid
adding "disabled" flash devices with the system.

Signed-off-by: Chunhe Lan <Chunhe.Lan@freescale.com>
---
 drivers/mtd/maps/physmap_of.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)
Scott Wood - Aug. 16, 2011, 9:44 p.m.
On 08/16/2011 04:25 AM, Chunhe Lan wrote:
> Flash(cfi-flash, jedec-flash, and so on) nodes with the
> property status="disabled" are not usable and so avoid
> adding "disabled" flash devices with the system.
> 
> Signed-off-by: Chunhe Lan <Chunhe.Lan@freescale.com>
> ---
>  drivers/mtd/maps/physmap_of.c |    3 +++
>  1 files changed, 3 insertions(+), 0 deletions(-)
> 
> diff --git a/drivers/mtd/maps/physmap_of.c b/drivers/mtd/maps/physmap_of.c
> index d251d1d..812e6dc 100644
> --- a/drivers/mtd/maps/physmap_of.c
> +++ b/drivers/mtd/maps/physmap_of.c
> @@ -219,6 +219,9 @@ static int __devinit of_flash_probe(struct platform_device *dev)
>  	struct mtd_info **mtd_list = NULL;
>  	resource_size_t res_size;
>  
> +	if (!of_device_is_available(dp))
> +		return -ENODEV;
> +
>  	match = of_match_device(of_flash_match, &dev->dev);
>  	if (!match)
>  		return -EINVAL;

Are you actually seeing unavailable devices get probed?  I thought the
upper layers were supposed to prevent that.

-Scott
Lan Chunhe-B25806 - Aug. 22, 2011, 10:02 a.m.
On Wed, 17 Aug 2011 05:44:56 +0800, Scott Wood <scottwood@freescale.com>  
wrote:

> On 08/16/2011 04:25 AM, Chunhe Lan wrote:
>> Flash(cfi-flash, jedec-flash, and so on) nodes with the
>> property status="disabled" are not usable and so avoid
>> adding "disabled" flash devices with the system.
>>
>> Signed-off-by: Chunhe Lan <Chunhe.Lan@freescale.com>
>> ---
>>  drivers/mtd/maps/physmap_of.c |    3 +++
>>  1 files changed, 3 insertions(+), 0 deletions(-)
>>
>> diff --git a/drivers/mtd/maps/physmap_of.c  
>> b/drivers/mtd/maps/physmap_of.c
>> index d251d1d..812e6dc 100644
>> --- a/drivers/mtd/maps/physmap_of.c
>> +++ b/drivers/mtd/maps/physmap_of.c
>> @@ -219,6 +219,9 @@ static int __devinit of_flash_probe(struct  
>> platform_device *dev)
>>  	struct mtd_info **mtd_list = NULL;
>>  	resource_size_t res_size;
>>
>> +	if (!of_device_is_available(dp))
>> +		return -ENODEV;
>> +
>>  	match = of_match_device(of_flash_match, &dev->dev);
>>  	if (!match)
>>  		return -EINVAL;
>
> Are you actually seeing unavailable devices get probed?  I thought the
> upper layers were supposed to prevent that.

    You are right.
    The upper layers have prevented unavailable devices.
    So, this patch is no need.

    Thanks.

    -Jack Lan

> -Scott

Patch

diff --git a/drivers/mtd/maps/physmap_of.c b/drivers/mtd/maps/physmap_of.c
index d251d1d..812e6dc 100644
--- a/drivers/mtd/maps/physmap_of.c
+++ b/drivers/mtd/maps/physmap_of.c
@@ -219,6 +219,9 @@  static int __devinit of_flash_probe(struct platform_device *dev)
 	struct mtd_info **mtd_list = NULL;
 	resource_size_t res_size;
 
+	if (!of_device_is_available(dp))
+		return -ENODEV;
+
 	match = of_match_device(of_flash_match, &dev->dev);
 	if (!match)
 		return -EINVAL;