[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <c02d4c6ac71d432bb99a547e3e17d027@BN1PR03MB220.namprd03.prod.outlook.com>
Date: Thu, 26 Jun 2014 09:30:02 +0000
From: "bhupesh.sharma@...escale.com" <bhupesh.sharma@...escale.com>
To: Marc Kleine-Budde <mkl@...gutronix.de>,
"linux-can@...r.kernel.org" <linux-can@...r.kernel.org>
CC: "wg@...ndegger.com" <wg@...ndegger.com>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>
Subject: RE: [PATCH] net: can: Remodel FlexCAN register read/write APIs for BE
instances
> -----Original Message-----
> From: Marc Kleine-Budde [mailto:mkl@...gutronix.de]
> Sent: Thursday, June 26, 2014 2:59 PM
> To: Sharma Bhupesh-B45370; linux-can@...r.kernel.org
> Cc: wg@...ndegger.com; netdev@...r.kernel.org
> Subject: Re: [PATCH] net: can: Remodel FlexCAN register read/write APIs
> for BE instances
>
> On 06/25/2014 09:00 PM, Marc Kleine-Budde wrote:
> >> How does this look (a bit messed up, so I am open for comments):
> >
> > What about:
> >
> > static u32 flexcan_read_le(void __iomem *addr) {
> > return ioread32(addr);
> > }
> >
> > static u32 flexcan_read_be(void __iomem *addr) {
> > return ioread32be(addr);
> > }
> >
> > flexcan_probe ()
> > {
> > bool core_is_little = true;
> >
> > /* or #ifdef __BIG_ENDIAN ... #endif instead of IS_ENABLED() */
> > if (IS_ENABLED(CONFIG_CPU_BIG_ENDIAN) ||
> > of_property_read_bool(dev->dev.of_node, "big-endian"))
> > core_is_little = false;
>
> if (of_property_read_bool(dev->dev.of_node, "little-endian"))
> core_is_little = true;
Seems better :)
Let me try to spin a patch and test it at my end.
>
> > if (core_is_little)
> > priv->read = flexcan_read_le;
> > else
> > priv->read = flexcan_read_be;
> >
> > }
Regards,
Bhupesh
Powered by blists - more mailing lists