Loading drivers/memory/omap-gpmc.c +24 −29 Original line number Diff line number Diff line Loading @@ -1075,10 +1075,33 @@ int gpmc_configure(int cmd, int wval) } EXPORT_SYMBOL(gpmc_configure); void gpmc_update_nand_reg(struct gpmc_nand_regs *reg, int cs) static bool gpmc_nand_writebuffer_empty(void) { if (gpmc_read_reg(GPMC_STATUS) & GPMC_STATUS_EMPTYWRITEBUFFERSTATUS) return true; return false; } static struct gpmc_nand_ops nand_ops = { .nand_writebuffer_empty = gpmc_nand_writebuffer_empty, }; /** * gpmc_omap_get_nand_ops - Get the GPMC NAND interface * @regs: the GPMC NAND register map exclusive for NAND use. * @cs: GPMC chip select number on which the NAND sits. The * register map returned will be specific to this chip select. * * Returns NULL on error e.g. invalid cs. */ struct gpmc_nand_ops *gpmc_omap_get_nand_ops(struct gpmc_nand_regs *reg, int cs) { int i; if (cs >= gpmc_cs_num) return NULL; reg->gpmc_nand_command = gpmc_base + GPMC_CS0_OFFSET + GPMC_CS_NAND_COMMAND + GPMC_CS_SIZE * cs; reg->gpmc_nand_address = gpmc_base + GPMC_CS0_OFFSET + Loading Loading @@ -1110,34 +1133,6 @@ void gpmc_update_nand_reg(struct gpmc_nand_regs *reg, int cs) reg->gpmc_bch_result6[i] = gpmc_base + GPMC_ECC_BCH_RESULT_6 + i * GPMC_BCH_SIZE; } } static bool gpmc_nand_writebuffer_empty(void) { if (gpmc_read_reg(GPMC_STATUS) & GPMC_STATUS_EMPTYWRITEBUFFERSTATUS) return true; return false; } static struct gpmc_nand_ops nand_ops = { .nand_writebuffer_empty = gpmc_nand_writebuffer_empty, }; /** * gpmc_omap_get_nand_ops - Get the GPMC NAND interface * @regs: the GPMC NAND register map exclusive for NAND use. * @cs: GPMC chip select number on which the NAND sits. The * register map returned will be specific to this chip select. * * Returns NULL on error e.g. invalid cs. */ struct gpmc_nand_ops *gpmc_omap_get_nand_ops(struct gpmc_nand_regs *reg, int cs) { if (cs >= gpmc_cs_num) return NULL; gpmc_update_nand_reg(reg, cs); return &nand_ops; } Loading include/linux/omap-gpmc.h +0 −12 Original line number Diff line number Diff line Loading @@ -36,18 +36,6 @@ static inline struct gpmc_nand_ops *gpmc_omap_get_nand_ops(struct gpmc_nand_regs } #endif /* CONFIG_OMAP_GPMC */ /*--------------------------------*/ /* deprecated APIs */ #if IS_ENABLED(CONFIG_OMAP_GPMC) void gpmc_update_nand_reg(struct gpmc_nand_regs *reg, int cs); #else static inline void gpmc_update_nand_reg(struct gpmc_nand_regs *reg, int cs) { } #endif /* CONFIG_OMAP_GPMC */ /*--------------------------------*/ extern int gpmc_calc_timings(struct gpmc_timings *gpmc_t, struct gpmc_settings *gpmc_s, struct gpmc_device_timings *dev_t); Loading Loading
drivers/memory/omap-gpmc.c +24 −29 Original line number Diff line number Diff line Loading @@ -1075,10 +1075,33 @@ int gpmc_configure(int cmd, int wval) } EXPORT_SYMBOL(gpmc_configure); void gpmc_update_nand_reg(struct gpmc_nand_regs *reg, int cs) static bool gpmc_nand_writebuffer_empty(void) { if (gpmc_read_reg(GPMC_STATUS) & GPMC_STATUS_EMPTYWRITEBUFFERSTATUS) return true; return false; } static struct gpmc_nand_ops nand_ops = { .nand_writebuffer_empty = gpmc_nand_writebuffer_empty, }; /** * gpmc_omap_get_nand_ops - Get the GPMC NAND interface * @regs: the GPMC NAND register map exclusive for NAND use. * @cs: GPMC chip select number on which the NAND sits. The * register map returned will be specific to this chip select. * * Returns NULL on error e.g. invalid cs. */ struct gpmc_nand_ops *gpmc_omap_get_nand_ops(struct gpmc_nand_regs *reg, int cs) { int i; if (cs >= gpmc_cs_num) return NULL; reg->gpmc_nand_command = gpmc_base + GPMC_CS0_OFFSET + GPMC_CS_NAND_COMMAND + GPMC_CS_SIZE * cs; reg->gpmc_nand_address = gpmc_base + GPMC_CS0_OFFSET + Loading Loading @@ -1110,34 +1133,6 @@ void gpmc_update_nand_reg(struct gpmc_nand_regs *reg, int cs) reg->gpmc_bch_result6[i] = gpmc_base + GPMC_ECC_BCH_RESULT_6 + i * GPMC_BCH_SIZE; } } static bool gpmc_nand_writebuffer_empty(void) { if (gpmc_read_reg(GPMC_STATUS) & GPMC_STATUS_EMPTYWRITEBUFFERSTATUS) return true; return false; } static struct gpmc_nand_ops nand_ops = { .nand_writebuffer_empty = gpmc_nand_writebuffer_empty, }; /** * gpmc_omap_get_nand_ops - Get the GPMC NAND interface * @regs: the GPMC NAND register map exclusive for NAND use. * @cs: GPMC chip select number on which the NAND sits. The * register map returned will be specific to this chip select. * * Returns NULL on error e.g. invalid cs. */ struct gpmc_nand_ops *gpmc_omap_get_nand_ops(struct gpmc_nand_regs *reg, int cs) { if (cs >= gpmc_cs_num) return NULL; gpmc_update_nand_reg(reg, cs); return &nand_ops; } Loading
include/linux/omap-gpmc.h +0 −12 Original line number Diff line number Diff line Loading @@ -36,18 +36,6 @@ static inline struct gpmc_nand_ops *gpmc_omap_get_nand_ops(struct gpmc_nand_regs } #endif /* CONFIG_OMAP_GPMC */ /*--------------------------------*/ /* deprecated APIs */ #if IS_ENABLED(CONFIG_OMAP_GPMC) void gpmc_update_nand_reg(struct gpmc_nand_regs *reg, int cs); #else static inline void gpmc_update_nand_reg(struct gpmc_nand_regs *reg, int cs) { } #endif /* CONFIG_OMAP_GPMC */ /*--------------------------------*/ extern int gpmc_calc_timings(struct gpmc_timings *gpmc_t, struct gpmc_settings *gpmc_s, struct gpmc_device_timings *dev_t); Loading