aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorHans-Peter Nilsson <hans-peter.nilsson@axis.com>2007-02-12 00:52:45 -0800
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-02-12 09:48:31 -0800
commit0ffa0285052607513a29f529ddb5061c907fd8a6 (patch)
treed7072494d6d8005c60d42c1c841628c7d486dd9a /include
parent[PATCH] spi_bitbang(): use overridable setup_transfer() method (diff)
downloadlinux-dev-0ffa0285052607513a29f529ddb5061c907fd8a6.tar.xz
linux-dev-0ffa0285052607513a29f529ddb5061c907fd8a6.zip
[PATCH] SPI cleanup() method param becomes non-const
I'd like to assign NULL to kfree()d members of a structure. I can't do that without ugly casting (see the PXA patch) when the structure pointed to is const-qualified. I don't really see a reason why the cleanup method isn't allowed to alter the object it should clean up. :-) No, I didn't test the PXA patch, but I verified that the NULL-assignment doesn't stop me from doing rmmod/insmodding my own spi_bitbang-based driver. Signed-off-by: Hans-Peter Nilsson <hp@axis.com> Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'include')
-rw-r--r--include/linux/spi/spi.h2
-rw-r--r--include/linux/spi/spi_bitbang.h2
2 files changed, 2 insertions, 2 deletions
diff --git a/include/linux/spi/spi.h b/include/linux/spi/spi.h
index 851b25d6e82b..9d8d63109a8f 100644
--- a/include/linux/spi/spi.h
+++ b/include/linux/spi/spi.h
@@ -220,7 +220,7 @@ struct spi_master {
struct spi_message *mesg);
/* called on release() to free memory provided by spi_master */
- void (*cleanup)(const struct spi_device *spi);
+ void (*cleanup)(struct spi_device *spi);
};
static inline void *spi_master_get_devdata(struct spi_master *master)
diff --git a/include/linux/spi/spi_bitbang.h b/include/linux/spi/spi_bitbang.h
index 16ce178f54d7..2e8c048b9b80 100644
--- a/include/linux/spi/spi_bitbang.h
+++ b/include/linux/spi/spi_bitbang.h
@@ -55,7 +55,7 @@ struct spi_bitbang {
* methods, if you like.
*/
extern int spi_bitbang_setup(struct spi_device *spi);
-extern void spi_bitbang_cleanup(const struct spi_device *spi);
+extern void spi_bitbang_cleanup(struct spi_device *spi);
extern int spi_bitbang_transfer(struct spi_device *spi, struct spi_message *m);
extern int spi_bitbang_setup_transfer(struct spi_device *spi,
struct spi_transfer *t);