Messages in this thread | | | From | Arnd Bergmann <> | Subject | Re: [PATCH V14 3/4] ptp: Added a clock driver for the IXP46x. | Date | Mon, 18 Apr 2011 08:56:03 +0200 |
| |
On Monday 18 April 2011, Richard Cochran wrote: > +static void ixp_rx_timestamp(struct port *port, struct sk_buff *skb) > +{ > + struct skb_shared_hwtstamps *shhwtstamps; > + struct ixp46x_ts_regs *regs; > + u64 ns; > + u32 ch, hi, lo, val; > + u16 uid, seq; > + > + if (!port->hwts_rx_en) > + return; > + > + ch = PORT2CHANNEL(port); > + > + regs = (struct ixp46x_ts_regs __iomem *) IXP4XX_TIMESYNC_BASE_VIRT; > + > + val = __raw_readl(®s->channel[ch].ch_event); > + > + if (!(val & RX_SNAPSHOT_LOCKED)) > + return; > + > + lo = __raw_readl(®s->channel[ch].src_uuid_lo); > + hi = __raw_readl(®s->channel[ch].src_uuid_hi); > +
I guess you should use readl(), not __raw_readl() here. The __raw_* functions are not meant for device drivers.
Arnd
| |