lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Thu, 05 Feb 2015 12:05:31 +0100
From:	Marc Kleine-Budde <mkl@...gutronix.de>
To:	Aaron Wu <Aaron.wu@...log.com>, wg@...ndegger.com,
	linux-can@...r.kernel.org, linux-kernel@...r.kernel.org,
	linux-devel@...log.com
Subject: Re: [PATCH V5 2/3] bfin_can: rewrite the driver into common style
 with MMU

On 02/05/2015 11:44 AM, Aaron Wu wrote:
> Rewrite the blackfin CAN driver into more common style in three ways:
> part 1/3: rewrite blackfin style of read/write into common readw/writew
> part 2/3: introduce ioremap to be compitable with MMU enabled arch
> part 3/3: merge the header file from the blackfin arch dependent
> location to driver code directly, note the original copy of more completed
> bfin_can.h in arch depentdent location is reserved for reg test purpose
> 
> V5 changes: merge contents of header file into drivere code in patch 3/3
> V4 changes: remove unused variable in patch 2/3
> V3 changes: remove redundant cast in patch 2/3
> V2 changes: split patch into two parts
> V1 changes: rewrite code into common style
> 
> Signed-off-by: Aaron Wu <Aaron.wu@...log.com>
> ---
>  drivers/net/can/bfin_can.c |   22 ++++++++--------------
>  1 file changed, 8 insertions(+), 14 deletions(-)
> 
> diff --git a/drivers/net/can/bfin_can.c b/drivers/net/can/bfin_can.c
> index 0a5eff4..0209c14 100644
> --- a/drivers/net/can/bfin_can.c
> +++ b/drivers/net/can/bfin_can.c
> @@ -551,16 +551,10 @@ static int bfin_can_probe(struct platform_device *pdev)
>  		goto exit;
>  	}
>  
> -	if (!request_mem_region(res_mem->start, resource_size(res_mem),
> -				dev_name(&pdev->dev))) {
> -		err = -EBUSY;
> -		goto exit;
> -	}
> -
>  	/* request peripheral pins */
>  	err = peripheral_request_list(pdata, dev_name(&pdev->dev));
>  	if (err)
> -		goto exit_mem_release;
> +		goto exit;
>  
>  	dev = alloc_bfin_candev();
>  	if (!dev) {
> @@ -569,7 +563,13 @@ static int bfin_can_probe(struct platform_device *pdev)
>  	}
>  
>  	priv = netdev_priv(dev);
> -	priv->membase = (void __iomem *)res_mem->start;
> +
> +	priv->membase = devm_ioremap_resource(&pdev->dev, res_mem);
> +	if (IS_ERR(priv->membase)) {
> +		dev_err(&pdev->dev, "Cannot map IO\n");

devm_ioremap_resource() already prints an error message.

Marc
-- 
Pengutronix e.K.                  | Marc Kleine-Budde           |
Industrial Linux Solutions        | Phone: +49-231-2826-924     |
Vertretung West/Dortmund          | Fax:   +49-5121-206917-5555 |
Amtsgericht Hildesheim, HRA 2686  | http://www.pengutronix.de   |


Download attachment "signature.asc" of type "application/pgp-signature" (820 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ