diff options
author | Philip J Kelleher <pjk1939@linux.vnet.ibm.com> | 2013-02-18 21:35:59 +0100 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2013-02-18 21:35:59 +0100 |
commit | c206c70924737db6836382c09ad2dacd04bb6204 (patch) | |
tree | 31a9ebc3e0998f19db1537d45617ad13363dcef5 /drivers/block/rsxx/rsxx_priv.h | |
parent | ec8edc764efa51e5acf9193a8846a5a99399ceb8 (diff) | |
download | op-kernel-dev-c206c70924737db6836382c09ad2dacd04bb6204.zip op-kernel-dev-c206c70924737db6836382c09ad2dacd04bb6204.tar.gz |
block: IBM RamSan 70/80 driver fixes
This patch includes the following driver fixes for the
IBM RamSan 70/80 driver:
o Changed the creg_ctrl lock from a mutex to a spinlock.
o Added a count check for ioctl calls.
o Removed unnecessary casting of void pointers.
o Made every function static that needed to be.
o Added comments to explain things more thoroughly.
Signed-off-by: Philip J Kelleher <pjk1939@linux.vnet.ibm.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'drivers/block/rsxx/rsxx_priv.h')
-rw-r--r-- | drivers/block/rsxx/rsxx_priv.h | 11 |
1 files changed, 1 insertions, 10 deletions
diff --git a/drivers/block/rsxx/rsxx_priv.h b/drivers/block/rsxx/rsxx_priv.h index 3887e496..a1ac907 100644 --- a/drivers/block/rsxx/rsxx_priv.h +++ b/drivers/block/rsxx/rsxx_priv.h @@ -127,7 +127,7 @@ struct rsxx_cardinfo { /* Embedded CPU Communication */ struct { - struct mutex lock; + spinlock_t lock; bool active; struct creg_cmd *active_cmd; struct work_struct done_work; @@ -141,7 +141,6 @@ struct rsxx_cardinfo { } creg_stats; struct timer_list cmd_timer; struct mutex reset_lock; - spinlock_t pop_lock; int reset; } creg_ctrl; @@ -336,7 +335,6 @@ static inline unsigned int CREG_DATA(int N) /***** config.c *****/ int rsxx_load_config(struct rsxx_cardinfo *card); -int rsxx_save_config(struct rsxx_cardinfo *card); /***** core.c *****/ void rsxx_enable_ier(struct rsxx_cardinfo *card, unsigned int intr); @@ -345,8 +343,6 @@ void rsxx_enable_ier_and_isr(struct rsxx_cardinfo *card, unsigned int intr); void rsxx_disable_ier_and_isr(struct rsxx_cardinfo *card, unsigned int intr); -char *rsxx_card_state_to_str(unsigned int state); -irqreturn_t rsxx_isr(int irq, void *pdata); /***** dev.c *****/ int rsxx_attach_dev(struct rsxx_cardinfo *card); @@ -364,16 +360,11 @@ int rsxx_dma_setup(struct rsxx_cardinfo *card); void rsxx_dma_destroy(struct rsxx_cardinfo *card); int rsxx_dma_init(void); void rsxx_dma_cleanup(void); -int rsxx_dma_configure(struct rsxx_cardinfo *card); int rsxx_dma_queue_bio(struct rsxx_cardinfo *card, struct bio *bio, atomic_t *n_dmas, rsxx_dma_cb cb, void *cb_data); -int rsxx_dma_stripe_setup(struct rsxx_cardinfo *card, - unsigned int stripe_size8); -unsigned int rsxx_get_dma_tgt(struct rsxx_cardinfo *card, u64 addr8); -unsigned int rsxx_addr8_to_laddr(u64 addr8, struct rsxx_cardinfo *card); /***** cregs.c *****/ int rsxx_creg_write(struct rsxx_cardinfo *card, u32 addr, |