lkml.org 
[lkml]   [2018]   [Oct]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH RESEND v4 1/5] spi: spi-mem: Add driver for NXP FlexSPI controller
    On Tue, 23 Oct 2018 08:56:46 +0000
    Yogesh Narayan Gaur <yogeshnarayan.gaur@nxp.com> wrote:

    > +struct nxp_fspi {
    > + void __iomem *iobase;
    > + void __iomem *ahb_addr;
    > + u32 memmap_phy;
    > + u32 memmap_phy_size;
    > + struct clk *clk, *clk_en;
    > + struct device *dev;
    > + struct completion c;
    > + const struct nxp_fspi_devtype_data *devtype_data;
    > + struct mutex lock;
    > + struct pm_qos_request pm_qos_req;
    > + int selected;
    > + void (*write)(u32 val, void __iomem *addr);
    > + u32 (*read)(void __iomem *addr);

    I think I already commented on this aspect, and I keep thinking having a
    function pointer is overkill here.
    Just declare 2 functions and do the f->devtype_data->little_endian
    check in there:

    static u32 fspi_readl(struct nxp_fspi *f, void __iomem *addr)
    {
    if (f->devtype_data->little_endian)
    return ioread32(addr);

    return ioread32be(addr);
    }

    static void fspi_writel(struct nxp_fspi *f, u32 val, void __iomem *addr)
    {
    if (f->devtype_data->little_endian)
    iowrite32(val, addr);

    iowrite32be(val, addr);
    }

    \
     
     \ /
      Last update: 2018-10-23 11:08    [W:4.605 / U:0.068 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site