diff options
author | Olof Johansson <olof@lixom.net> | 2012-07-24 10:58:51 -0400 |
---|---|---|
committer | Olof Johansson <olof@lixom.net> | 2012-09-13 03:15:00 -0400 |
commit | 1a876762064b8e1ff9a65e78a7cba09eb765a54b (patch) | |
tree | d16beda7ff86273ca0668e1c9f411a165c1a3de3 /drivers/dma | |
parent | 55d512e245bc7699a8800e23df1a24195dd08217 (diff) | |
parent | 75f21631bce693f867e7f2204875cb06cee9deff (diff) |
Merge branch 'ofdeviceiddata' of git://git.pengutronix.de/git/ukl/linux into next/fixes-non-critical
From "Uwe Kleine-König" <u.kleine-koenig@pengutronix.de>:
this is the 2nd version of this series whose goal is to make struct
of_device_id.data const. Conceptually a driver must not modify the data
contained there so making it const is the right thing.
v1 of this series was sent with Message-id:
1342182734-321-1-git-send-email-y. Changes since then are:
- powerpc fixes
- several new consts that were found by Arnd that are possible after
patch 19.
Arnd suggested to take this series via arm-soc late for 3.6 in one go
because patch 19 depends on the former patches but is a precondition to
the latter and it fixes a few warnings. So getting it in via the
respective maintainer trees would need a much bigger coordination
effort. That means I prefer getting Acks over you taking the patch.
Vinod Koul already took
dmaengine: at_hdmac: add a few const qualifiers
that is in next-20120723 as 7fd63ccdad72 now. Vinod, I don't follow your
pull requests, but assuming you didn't let it already pull for 3.6 I
suggest you drop it from your queue and I just take your Ack.
This series was build tested for arm (all defconfigs) and powerpc (all
defconfigs and an allyesconfig) and grep didn't find more issues. As
before it introduces a warning in drivers/regulator/twl-regulator.c.
This driver does modify its .of_match_table when a device is bound which
doesn't fits the concept of independant devices. Arnd noticed another
new warning in drivers/scsi/qlogicpti.c that isn't that easy to resolve,
because the pointer to (now) const data is passed as first argument to
scsi_host_alloc. To fix that properly struct Scsi_Host.hostt needs to
get a const, too. Alternatively I could introduce a cast removing the
const, but I don't like that.
* 'ofdeviceiddata' of git://git.pengutronix.de/git/ukl/linux: (25 commits)
dma: tegra: make data used as *of_device_id.data const
can: mpc5xxx_can: make data used as *of_device_id.data const
macintosh/mediabay: make data used as *of_device_id.data const
i2c/mpc: make data used as *of_device_id.data const
mfd/da9052: make i2c_device_id array const
powerpc/fsl_msi: drop unneeded cast to non-const pointer
gpio/gpio-omap: make platformdata used as *of_device_id.data const
of: add const to struct *of_device_id.data
dma: tegra: make tegra_dma.chip_data a pointer to const data
watchdog/mpc8xxx: add a const qualifier
powerpc/celleb_pci: add a const qualifier
powerpc/fsl_msi: add a const qualifier
powerpc/83xx: add a const qualifier
macintosh/mediabay: add a const qualifier
mmc/omap_hsmmc: add a const qualifier
i2c/mpc: add a const qualifier
i2c/i2c-omap: add a const qualifier
gpio/mpc8xxx: add a const qualifier
gpio/gpio-omap.c: add a const qualifier
misc/atmel_tc: make atmel_tc.tcb_config member point to const data
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
[olof: repulled a v3 version of the branch that rebased to add some more
acked-bys and added one more patch on top for tegra]
Signed-off-by: Olof Johansson <olof@lixom.net>
Diffstat (limited to 'drivers/dma')
-rw-r--r-- | drivers/dma/tegra20-apb-dma.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/dma/tegra20-apb-dma.c b/drivers/dma/tegra20-apb-dma.c index 24acd711e032..4708467e4d83 100644 --- a/drivers/dma/tegra20-apb-dma.c +++ b/drivers/dma/tegra20-apb-dma.c | |||
@@ -201,7 +201,7 @@ struct tegra_dma { | |||
201 | struct clk *dma_clk; | 201 | struct clk *dma_clk; |
202 | spinlock_t global_lock; | 202 | spinlock_t global_lock; |
203 | void __iomem *base_addr; | 203 | void __iomem *base_addr; |
204 | struct tegra_dma_chip_data *chip_data; | 204 | const struct tegra_dma_chip_data *chip_data; |
205 | 205 | ||
206 | /* Some register need to be cache before suspend */ | 206 | /* Some register need to be cache before suspend */ |
207 | u32 reg_gen; | 207 | u32 reg_gen; |
@@ -1173,14 +1173,14 @@ static void tegra_dma_free_chan_resources(struct dma_chan *dc) | |||
1173 | } | 1173 | } |
1174 | 1174 | ||
1175 | /* Tegra20 specific DMA controller information */ | 1175 | /* Tegra20 specific DMA controller information */ |
1176 | static struct tegra_dma_chip_data tegra20_dma_chip_data = { | 1176 | static const struct tegra_dma_chip_data tegra20_dma_chip_data = { |
1177 | .nr_channels = 16, | 1177 | .nr_channels = 16, |
1178 | .max_dma_count = 1024UL * 64, | 1178 | .max_dma_count = 1024UL * 64, |
1179 | }; | 1179 | }; |
1180 | 1180 | ||
1181 | #if defined(CONFIG_OF) | 1181 | #if defined(CONFIG_OF) |
1182 | /* Tegra30 specific DMA controller information */ | 1182 | /* Tegra30 specific DMA controller information */ |
1183 | static struct tegra_dma_chip_data tegra30_dma_chip_data = { | 1183 | static const struct tegra_dma_chip_data tegra30_dma_chip_data = { |
1184 | .nr_channels = 32, | 1184 | .nr_channels = 32, |
1185 | .max_dma_count = 1024UL * 64, | 1185 | .max_dma_count = 1024UL * 64, |
1186 | }; | 1186 | }; |
@@ -1204,7 +1204,7 @@ static int __devinit tegra_dma_probe(struct platform_device *pdev) | |||
1204 | struct tegra_dma *tdma; | 1204 | struct tegra_dma *tdma; |
1205 | int ret; | 1205 | int ret; |
1206 | int i; | 1206 | int i; |
1207 | struct tegra_dma_chip_data *cdata = NULL; | 1207 | const struct tegra_dma_chip_data *cdata = NULL; |
1208 | 1208 | ||
1209 | if (pdev->dev.of_node) { | 1209 | if (pdev->dev.of_node) { |
1210 | const struct of_device_id *match; | 1210 | const struct of_device_id *match; |