From: Marc Kleine-Budde <mkl@pengutronix•de>
To: Bhaskar Upadhaya <bhaskar.upadhaya@freescale•com>
Cc: netdev@vger•kernel.org, holt@sgi•com, wg@grandegger•com,
davem@davemloft•net, linuxppc-release@linux•freescale.net,
b22300@freescale•com, socketcan-core@lists•berlios.de
Subject: Re: [PATCH 1/4][upstream] powerpc/p1010: Rearrange header file for FlexCAN
Date: Mon, 08 Aug 2011 17:08:12 +0200 [thread overview]
Message-ID: <4E3FFBDC.3090600@pengutronix.de> (raw)
In-Reply-To: <1312815586-25756-1-git-send-email-bhaskar.upadhaya@freescale.com>
[-- Attachment #1: Type: text/plain, Size: 3381 bytes --]
On 08/08/2011 04:59 PM, Bhaskar Upadhaya wrote:
> - Rearrange header file so that it can be used by both of_ type
> and platform_ type architecture.
> - Provide a common read and write interface for of_ type and platform_
> type architecture for accessing h/w registers.
> Signed-off-by: Bhaskar Upadhaya <bhaskar.upadhaya@freescale•com>
NACK - please have a look at Robin's patches. They are in a much better
shape.
cheers, Marc
> ---
> Based on http://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6.git
> Branch master
>
> include/linux/can/platform/flexcan.h | 65 ++++++++++++++++++++++++++++++++++
> 1 files changed, 65 insertions(+), 0 deletions(-)
>
> diff --git a/include/linux/can/platform/flexcan.h b/include/linux/can/platform/flexcan.h
> index 72b713a..8458a87 100644
> --- a/include/linux/can/platform/flexcan.h
> +++ b/include/linux/can/platform/flexcan.h
> @@ -1,5 +1,6 @@
> /*
> * Copyright (C) 2010 Marc Kleine-Budde <kernel@pengutronix•de>
> + * Copyright 2011 Freescale Semiconductor, Inc.
> *
> * This file is released under the GPLv2
> *
> @@ -8,6 +9,27 @@
> #ifndef __CAN_PLATFORM_FLEXCAN_H
> #define __CAN_PLATFORM_FLEXCAN_H
>
> +#include <linux/clk.h>
> +#include <linux/can/dev.h>
> +#include <linux/io.h>
> +
> +#ifdef CONFIG_OF
> +#include<linux/of_platform.h>
> +#else
> +#include <linux/platform_device.h>
> +#include <mach/clock.h>
> +#endif
> +
> +#define DRV_NAME "flexcan"
> +
> +#ifdef __BIG_ENDIAN
> +#define flexcan_read(x) in_be32(x)
> +#define flexcan_write(x, y) out_be32(y, x)
> +#else
> +#define flexcan_read(x) readl(x)
> +#define flexcan_write(x, y) writel(x, y)
> +#endif
> +
> /**
> * struct flexcan_platform_data - flex CAN controller platform data
> * @transceiver_enable: - called to power on/off the transceiver
> @@ -17,4 +39,47 @@ struct flexcan_platform_data {
> void (*transceiver_switch)(int enable);
> };
>
> +struct flexcan_interface {
> + int (*clk_enable) (struct clk *clk);
> + void (*clk_disable) (struct clk *clk);
> + void (*clk_put) (struct clk *clk);
> + unsigned long (*clk_get_rate) (struct clk *clk);
> + struct clk *(*clk_get) (struct device *dev, const char *id);
> +};
> +
> +struct flexcan_resource {
> + u32 irq;
> + u64 addr;
> + u64 size;
> + const char *drv_name;
> +};
> +
> +#ifdef CONFIG_OF
> +struct clk {
> + unsigned long rate;
> + void *data;
> +};
> +#endif
> +
> +struct flexcan_priv {
> + struct can_priv can;
> + struct net_device *dev;
> + struct napi_struct napi;
> +
> + void __iomem *base;
> + u32 reg_esr;
> + u32 reg_ctrl_default;
> +
> + struct clk *clk;
> + struct flexcan_interface *flexcan_ops;
> + struct flexcan_platform_data *pdata;
> +};
> +
> +int flexcan_dev_init(struct device *pdev, struct flexcan_resource
> + flexcan_res, struct flexcan_interface *flexcan_ops);
> +
> +void __devexit unregister_flexcandev(struct net_device *dev);
> +
> +void flexcan_reg_dump(struct net_device *dev);
> +
> #endif /* __CAN_PLATFORM_FLEXCAN_H */
--
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 |
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 262 bytes --]
prev parent reply other threads:[~2011-08-08 15:08 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-08-08 14:59 [PATCH 1/4][upstream] powerpc/p1010: Rearrange header file for FlexCAN Bhaskar Upadhaya
2011-08-08 15:08 ` Marc Kleine-Budde [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4E3FFBDC.3090600@pengutronix.de \
--to=mkl@pengutronix$(echo .)de \
--cc=b22300@freescale$(echo .)com \
--cc=bhaskar.upadhaya@freescale$(echo .)com \
--cc=davem@davemloft$(echo .)net \
--cc=holt@sgi$(echo .)com \
--cc=linuxppc-release@linux$(echo .)freescale.net \
--cc=netdev@vger$(echo .)kernel.org \
--cc=socketcan-core@lists$(echo .)berlios.de \
--cc=wg@grandegger$(echo .)com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox