History

mtd: nand: omap: Use gpmc_omap_get_nand_ops() to get NAND registers

Deprecate nand register passing via platform data and use gpmc_omap_get_nand_ops() instead.

Roger Quadros committed 11 years ago

Commit c509aef1 parent 384258f3 files · +11 −4Browse files

Unified · Split

3 files
  1. arch/arm/mach-omap2/gpmc-nand.c +0 −2
  2. drivers/mtd/nand/omap2.c +8 −1
  3. include/linux/platform_data/mtd-nand-omap2.h +3 −1
arch/arm/mach-omap2/gpmc-nand.c+0−2
@@ -121,8 +121,6 @@ int gpmc_nand_init(struct omap_nand_platform_data *gpmc_nand_data, · 120 unmodified lines
121 if (err < 0)121 if (err < 0)
122 goto out_free_cs;122 goto out_free_cs;
123 123
124 gpmc_update_nand_reg(&gpmc_nand_data->reg, gpmc_nand_data->cs);
125
126 if (!gpmc_hwecc_bch_capable(gpmc_nand_data->ecc_opt)) {124 if (!gpmc_hwecc_bch_capable(gpmc_nand_data->ecc_opt)) {
127 pr_err("omap2-nand: Unsupported NAND ECC scheme selected\n");125 pr_err("omap2-nand: Unsupported NAND ECC scheme selected\n");
128 err = -EINVAL;126 err = -EINVAL;
drivers/mtd/nand/omap2.c+8−1
@@ -28,6 +28,7 @@ · 27 unmodified lines
28#include <linux/mtd/nand_bch.h>28#include <linux/mtd/nand_bch.h>
29#include <linux/platform_data/elm.h>29#include <linux/platform_data/elm.h>
30 30
31#include <linux/omap-gpmc.h>
31#include <linux/platform_data/mtd-nand-omap2.h>32#include <linux/platform_data/mtd-nand-omap2.h>
32 33
33#define DRIVER_NAME "omap2-nand"34#define DRIVER_NAME "omap2-nand"
@@ -168,7 +169,9 @@ struct omap_nand_info { · 134 unmodified lines
168 } iomode;169 } iomode;
169 u_char *buf;170 u_char *buf;
170 int buf_len;171 int buf_len;
172 /* Interface to GPMC */
171 struct gpmc_nand_regs reg;173 struct gpmc_nand_regs reg;
174 struct gpmc_nand_ops *ops;
172 /* generated at runtime depending on ECC algorithm and layout selected */175 /* generated at runtime depending on ECC algorithm and layout selected */
173 struct nand_ecclayout oobinfo;176 struct nand_ecclayout oobinfo;
174 /* fields specific for BCHx_HW ECC scheme */177 /* fields specific for BCHx_HW ECC scheme */
@@ -1665,9 +1668,13 @@ static int omap_nand_probe(struct platform_device *pdev) · 1490 unmodified lines
1665 1668
1666 platform_set_drvdata(pdev, info);1669 platform_set_drvdata(pdev, info);
1667 1670
1671 info->ops = gpmc_omap_get_nand_ops(&info->reg, info->gpmc_cs);
1672 if (!info->ops) {
1673 dev_err(&pdev->dev, "Failed to get GPMC->NAND interface\n");
1674 return -ENODEV;
1675 }
1668 info->pdev = pdev;1676 info->pdev = pdev;
1669 info->gpmc_cs = pdata->cs;1677 info->gpmc_cs = pdata->cs;
1670 info->reg = pdata->reg;
1671 info->of_node = pdata->of_node;1678 info->of_node = pdata->of_node;
1672 info->ecc_opt = pdata->ecc_opt;1679 info->ecc_opt = pdata->ecc_opt;
1673 nand_chip = &info->nand;1680 nand_chip = &info->nand;
include/linux/platform_data/mtd-nand-omap2.h+3−1
@@ -75,10 +75,12 @@ struct omap_nand_platform_data { · 74 unmodified lines
75 enum nand_io xfer_type;75 enum nand_io xfer_type;
76 int devsize;76 int devsize;
77 enum omap_ecc ecc_opt;77 enum omap_ecc ecc_opt;
78 struct gpmc_nand_regs reg;
79 78
80 /* for passing the partitions */79 /* for passing the partitions */
81 struct device_node *of_node;80 struct device_node *of_node;
82 struct device_node *elm_of_node;81 struct device_node *elm_of_node;
82
83 /* deprecated */
84 struct gpmc_nand_regs reg;
83};85};
84#endif86#endif

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t