diff options
author | Hans-Peter Nilsson <hans-peter.nilsson@axis.com> | 2007-02-12 03:52:45 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-02-12 12:48:31 -0500 |
commit | 0ffa0285052607513a29f529ddb5061c907fd8a6 (patch) | |
tree | d7072494d6d8005c60d42c1c841628c7d486dd9a /include/linux/spi | |
parent | 7f8c7619ea1ff5ab8e0b08c8120d629834ef4253 (diff) |
[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/linux/spi')
-rw-r--r-- | include/linux/spi/spi.h | 2 | ||||
-rw-r--r-- | include/linux/spi/spi_bitbang.h | 2 |
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 { | |||
220 | struct spi_message *mesg); | 220 | struct spi_message *mesg); |
221 | 221 | ||
222 | /* called on release() to free memory provided by spi_master */ | 222 | /* called on release() to free memory provided by spi_master */ |
223 | void (*cleanup)(const struct spi_device *spi); | 223 | void (*cleanup)(struct spi_device *spi); |
224 | }; | 224 | }; |
225 | 225 | ||
226 | static inline void *spi_master_get_devdata(struct spi_master *master) | 226 | 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 { | |||
55 | * methods, if you like. | 55 | * methods, if you like. |
56 | */ | 56 | */ |
57 | extern int spi_bitbang_setup(struct spi_device *spi); | 57 | extern int spi_bitbang_setup(struct spi_device *spi); |
58 | extern void spi_bitbang_cleanup(const struct spi_device *spi); | 58 | extern void spi_bitbang_cleanup(struct spi_device *spi); |
59 | extern int spi_bitbang_transfer(struct spi_device *spi, struct spi_message *m); | 59 | extern int spi_bitbang_transfer(struct spi_device *spi, struct spi_message *m); |
60 | extern int spi_bitbang_setup_transfer(struct spi_device *spi, | 60 | extern int spi_bitbang_setup_transfer(struct spi_device *spi, |
61 | struct spi_transfer *t); | 61 | struct spi_transfer *t); |