Message ID | 20170221094445.4u57nyj2e5cm5jhp@lenoch (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 21/02/17 11:44, Ladislav Michl wrote: > This code is no longer used and can be removed as we > are using device tree. > > Signed-off-by: Ladislav Michl <ladis@linux-mips.org> Acked-by: Roger Quadros <rogerq@ti.com> Ladislav, Is this the only patch remaining to be picked from this series or are there more? If there are more it would be nice if you can send them in a fresh thread. Thanks. cheers, -roger > --- > Changes: > split patch per Rogers' suggestion > > arch/arm/mach-omap2/Makefile | 3 - > arch/arm/mach-omap2/gpmc-nand.c | 154 ---------------------------------------- > 2 files changed, 157 deletions(-) > > diff --git a/arch/arm/mach-omap2/Makefile b/arch/arm/mach-omap2/Makefile > index 093458b62c8d..c89757abb0ae 100644 > --- a/arch/arm/mach-omap2/Makefile > +++ b/arch/arm/mach-omap2/Makefile > @@ -241,6 +241,3 @@ obj-$(CONFIG_MACH_OMAP2_TUSB6010) += usb-tusb6010.o > > onenand-$(CONFIG_MTD_ONENAND_OMAP2) := gpmc-onenand.o > obj-y += $(onenand-m) $(onenand-y) > - > -nand-$(CONFIG_MTD_NAND_OMAP2) := gpmc-nand.o > -obj-y += $(nand-m) $(nand-y) > diff --git a/arch/arm/mach-omap2/gpmc-nand.c b/arch/arm/mach-omap2/gpmc-nand.c > deleted file mode 100644 > index f6ac027f3c3b..000000000000 > --- a/arch/arm/mach-omap2/gpmc-nand.c > +++ /dev/null > @@ -1,154 +0,0 @@ > -/* > - * gpmc-nand.c > - * > - * Copyright (C) 2009 Texas Instruments > - * Vimal Singh <vimalsingh@ti.com> > - * > - * This program is free software; you can redistribute it and/or modify > - * it under the terms of the GNU General Public License version 2 as > - * published by the Free Software Foundation. > - */ > - > -#include <linux/kernel.h> > -#include <linux/platform_device.h> > -#include <linux/io.h> > -#include <linux/omap-gpmc.h> > -#include <linux/mtd/nand.h> > -#include <linux/platform_data/mtd-nand-omap2.h> > - > -#include <asm/mach/flash.h> > - > -#include "soc.h" > - > -/* minimum size for IO mapping */ > -#define NAND_IO_SIZE 4 > - > -static bool gpmc_hwecc_bch_capable(enum omap_ecc ecc_opt) > -{ > - /* platforms which support all ECC schemes */ > - if (soc_is_am33xx() || soc_is_am43xx() || cpu_is_omap44xx() || > - soc_is_omap54xx() || soc_is_dra7xx()) > - return 1; > - > - if (ecc_opt == OMAP_ECC_BCH4_CODE_HW_DETECTION_SW || > - ecc_opt == OMAP_ECC_BCH8_CODE_HW_DETECTION_SW) { > - if (cpu_is_omap24xx()) > - return 0; > - else if (cpu_is_omap3630() && (GET_OMAP_REVISION() == 0)) > - return 0; > - else > - return 1; > - } > - > - /* OMAP3xxx do not have ELM engine, so cannot support ECC schemes > - * which require H/W based ECC error detection */ > - if ((cpu_is_omap34xx() || cpu_is_omap3630()) && > - ((ecc_opt == OMAP_ECC_BCH4_CODE_HW) || > - (ecc_opt == OMAP_ECC_BCH8_CODE_HW))) > - return 0; > - > - /* legacy platforms support only HAM1 (1-bit Hamming) ECC scheme */ > - if (ecc_opt == OMAP_ECC_HAM1_CODE_HW || > - ecc_opt == OMAP_ECC_HAM1_CODE_SW) > - return 1; > - else > - return 0; > -} > - > -/* This function will go away once the device-tree convertion is complete */ > -static void gpmc_set_legacy(struct omap_nand_platform_data *gpmc_nand_data, > - struct gpmc_settings *s) > -{ > - /* Enable RD PIN Monitoring Reg */ > - if (gpmc_nand_data->dev_ready) { > - s->wait_on_read = true; > - s->wait_on_write = true; > - } > - > - if (gpmc_nand_data->devsize == NAND_BUSWIDTH_16) > - s->device_width = GPMC_DEVWIDTH_16BIT; > - else > - s->device_width = GPMC_DEVWIDTH_8BIT; > -} > - > -int gpmc_nand_init(struct omap_nand_platform_data *gpmc_nand_data, > - struct gpmc_timings *gpmc_t) > -{ > - int err = 0; > - struct gpmc_settings s; > - struct platform_device *pdev; > - struct resource gpmc_nand_res[] = { > - { .flags = IORESOURCE_MEM, }, > - { .flags = IORESOURCE_IRQ, }, > - { .flags = IORESOURCE_IRQ, }, > - }; > - > - BUG_ON(gpmc_nand_data->cs >= GPMC_CS_NUM); > - > - err = gpmc_cs_request(gpmc_nand_data->cs, NAND_IO_SIZE, > - (unsigned long *)&gpmc_nand_res[0].start); > - if (err < 0) { > - pr_err("omap2-gpmc: Cannot request GPMC CS %d, error %d\n", > - gpmc_nand_data->cs, err); > - return err; > - } > - gpmc_nand_res[0].end = gpmc_nand_res[0].start + NAND_IO_SIZE - 1; > - gpmc_nand_res[1].start = gpmc_get_client_irq(GPMC_IRQ_FIFOEVENTENABLE); > - gpmc_nand_res[2].start = gpmc_get_client_irq(GPMC_IRQ_COUNT_EVENT); > - > - memset(&s, 0, sizeof(struct gpmc_settings)); > - gpmc_set_legacy(gpmc_nand_data, &s); > - > - s.device_nand = true; > - > - if (gpmc_t) { > - err = gpmc_cs_set_timings(gpmc_nand_data->cs, gpmc_t, &s); > - if (err < 0) { > - pr_err("omap2-gpmc: Unable to set gpmc timings: %d\n", > - err); > - return err; > - } > - } > - > - err = gpmc_cs_program_settings(gpmc_nand_data->cs, &s); > - if (err < 0) > - goto out_free_cs; > - > - err = gpmc_configure(GPMC_CONFIG_WP, 0); > - if (err < 0) > - goto out_free_cs; > - > - if (!gpmc_hwecc_bch_capable(gpmc_nand_data->ecc_opt)) { > - pr_err("omap2-nand: Unsupported NAND ECC scheme selected\n"); > - err = -EINVAL; > - goto out_free_cs; > - } > - > - > - pdev = platform_device_alloc("omap2-nand", gpmc_nand_data->cs); > - if (pdev) { > - err = platform_device_add_resources(pdev, gpmc_nand_res, > - ARRAY_SIZE(gpmc_nand_res)); > - if (!err) > - pdev->dev.platform_data = gpmc_nand_data; > - } else { > - err = -ENOMEM; > - } > - if (err) > - goto out_free_pdev; > - > - err = platform_device_add(pdev); > - if (err) { > - dev_err(&pdev->dev, "Unable to register NAND device\n"); > - goto out_free_pdev; > - } > - > - return 0; > - > -out_free_pdev: > - platform_device_put(pdev); > -out_free_cs: > - gpmc_cs_free(gpmc_nand_data->cs); > - > - return err; > -} > -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Thu, Mar 30, 2017 at 09:55:30AM +0300, Roger Quadros wrote: > On 21/02/17 11:44, Ladislav Michl wrote: > > This code is no longer used and can be removed as we > > are using device tree. > > > > Signed-off-by: Ladislav Michl <ladis@linux-mips.org> > > Acked-by: Roger Quadros <rogerq@ti.com> > > Ladislav, > Is this the only patch remaining to be picked from this series or are there more? > If there are more it would be nice if you can send them in a fresh thread. Thanks. There are few more and I will resend them (omiting this one, right?) ladis -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 31/03/17 11:27, Ladislav Michl wrote: > On Thu, Mar 30, 2017 at 09:55:30AM +0300, Roger Quadros wrote: >> On 21/02/17 11:44, Ladislav Michl wrote: >>> This code is no longer used and can be removed as we >>> are using device tree. >>> >>> Signed-off-by: Ladislav Michl <ladis@linux-mips.org> >> >> Acked-by: Roger Quadros <rogerq@ti.com> >> >> Ladislav, >> Is this the only patch remaining to be picked from this series or are there more? >> If there are more it would be nice if you can send them in a fresh thread. Thanks. > > There are few more and I will resend them (omiting this one, right?) I think it is better that you include this one in the new thread. cheers, -roger -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/arch/arm/mach-omap2/Makefile b/arch/arm/mach-omap2/Makefile index 093458b62c8d..c89757abb0ae 100644 --- a/arch/arm/mach-omap2/Makefile +++ b/arch/arm/mach-omap2/Makefile @@ -241,6 +241,3 @@ obj-$(CONFIG_MACH_OMAP2_TUSB6010) += usb-tusb6010.o onenand-$(CONFIG_MTD_ONENAND_OMAP2) := gpmc-onenand.o obj-y += $(onenand-m) $(onenand-y) - -nand-$(CONFIG_MTD_NAND_OMAP2) := gpmc-nand.o -obj-y += $(nand-m) $(nand-y) diff --git a/arch/arm/mach-omap2/gpmc-nand.c b/arch/arm/mach-omap2/gpmc-nand.c deleted file mode 100644 index f6ac027f3c3b..000000000000 --- a/arch/arm/mach-omap2/gpmc-nand.c +++ /dev/null @@ -1,154 +0,0 @@ -/* - * gpmc-nand.c - * - * Copyright (C) 2009 Texas Instruments - * Vimal Singh <vimalsingh@ti.com> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - */ - -#include <linux/kernel.h> -#include <linux/platform_device.h> -#include <linux/io.h> -#include <linux/omap-gpmc.h> -#include <linux/mtd/nand.h> -#include <linux/platform_data/mtd-nand-omap2.h> - -#include <asm/mach/flash.h> - -#include "soc.h" - -/* minimum size for IO mapping */ -#define NAND_IO_SIZE 4 - -static bool gpmc_hwecc_bch_capable(enum omap_ecc ecc_opt) -{ - /* platforms which support all ECC schemes */ - if (soc_is_am33xx() || soc_is_am43xx() || cpu_is_omap44xx() || - soc_is_omap54xx() || soc_is_dra7xx()) - return 1; - - if (ecc_opt == OMAP_ECC_BCH4_CODE_HW_DETECTION_SW || - ecc_opt == OMAP_ECC_BCH8_CODE_HW_DETECTION_SW) { - if (cpu_is_omap24xx()) - return 0; - else if (cpu_is_omap3630() && (GET_OMAP_REVISION() == 0)) - return 0; - else - return 1; - } - - /* OMAP3xxx do not have ELM engine, so cannot support ECC schemes - * which require H/W based ECC error detection */ - if ((cpu_is_omap34xx() || cpu_is_omap3630()) && - ((ecc_opt == OMAP_ECC_BCH4_CODE_HW) || - (ecc_opt == OMAP_ECC_BCH8_CODE_HW))) - return 0; - - /* legacy platforms support only HAM1 (1-bit Hamming) ECC scheme */ - if (ecc_opt == OMAP_ECC_HAM1_CODE_HW || - ecc_opt == OMAP_ECC_HAM1_CODE_SW) - return 1; - else - return 0; -} - -/* This function will go away once the device-tree convertion is complete */ -static void gpmc_set_legacy(struct omap_nand_platform_data *gpmc_nand_data, - struct gpmc_settings *s) -{ - /* Enable RD PIN Monitoring Reg */ - if (gpmc_nand_data->dev_ready) { - s->wait_on_read = true; - s->wait_on_write = true; - } - - if (gpmc_nand_data->devsize == NAND_BUSWIDTH_16) - s->device_width = GPMC_DEVWIDTH_16BIT; - else - s->device_width = GPMC_DEVWIDTH_8BIT; -} - -int gpmc_nand_init(struct omap_nand_platform_data *gpmc_nand_data, - struct gpmc_timings *gpmc_t) -{ - int err = 0; - struct gpmc_settings s; - struct platform_device *pdev; - struct resource gpmc_nand_res[] = { - { .flags = IORESOURCE_MEM, }, - { .flags = IORESOURCE_IRQ, }, - { .flags = IORESOURCE_IRQ, }, - }; - - BUG_ON(gpmc_nand_data->cs >= GPMC_CS_NUM); - - err = gpmc_cs_request(gpmc_nand_data->cs, NAND_IO_SIZE, - (unsigned long *)&gpmc_nand_res[0].start); - if (err < 0) { - pr_err("omap2-gpmc: Cannot request GPMC CS %d, error %d\n", - gpmc_nand_data->cs, err); - return err; - } - gpmc_nand_res[0].end = gpmc_nand_res[0].start + NAND_IO_SIZE - 1; - gpmc_nand_res[1].start = gpmc_get_client_irq(GPMC_IRQ_FIFOEVENTENABLE); - gpmc_nand_res[2].start = gpmc_get_client_irq(GPMC_IRQ_COUNT_EVENT); - - memset(&s, 0, sizeof(struct gpmc_settings)); - gpmc_set_legacy(gpmc_nand_data, &s); - - s.device_nand = true; - - if (gpmc_t) { - err = gpmc_cs_set_timings(gpmc_nand_data->cs, gpmc_t, &s); - if (err < 0) { - pr_err("omap2-gpmc: Unable to set gpmc timings: %d\n", - err); - return err; - } - } - - err = gpmc_cs_program_settings(gpmc_nand_data->cs, &s); - if (err < 0) - goto out_free_cs; - - err = gpmc_configure(GPMC_CONFIG_WP, 0); - if (err < 0) - goto out_free_cs; - - if (!gpmc_hwecc_bch_capable(gpmc_nand_data->ecc_opt)) { - pr_err("omap2-nand: Unsupported NAND ECC scheme selected\n"); - err = -EINVAL; - goto out_free_cs; - } - - - pdev = platform_device_alloc("omap2-nand", gpmc_nand_data->cs); - if (pdev) { - err = platform_device_add_resources(pdev, gpmc_nand_res, - ARRAY_SIZE(gpmc_nand_res)); - if (!err) - pdev->dev.platform_data = gpmc_nand_data; - } else { - err = -ENOMEM; - } - if (err) - goto out_free_pdev; - - err = platform_device_add(pdev); - if (err) { - dev_err(&pdev->dev, "Unable to register NAND device\n"); - goto out_free_pdev; - } - - return 0; - -out_free_pdev: - platform_device_put(pdev); -out_free_cs: - gpmc_cs_free(gpmc_nand_data->cs); - - return err; -}
This code is no longer used and can be removed as we are using device tree. Signed-off-by: Ladislav Michl <ladis@linux-mips.org> --- Changes: split patch per Rogers' suggestion arch/arm/mach-omap2/Makefile | 3 - arch/arm/mach-omap2/gpmc-nand.c | 154 ---------------------------------------- 2 files changed, 157 deletions(-)