All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] mtd: bcm47xxsflash: implement ChipCommon R/W ops
@ 2013-03-24 20:51 Rafał Miłecki
  2013-03-24 20:51 ` [PATCH 2/2] mtd: bcm47xxsflash: implement polling chip status Rafał Miłecki
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Rafał Miłecki @ 2013-03-24 20:51 UTC (permalink / raw)
  To: linux-mtd, Artem Bityutskiy, David Woodhouse
  Cc: Hauke Mehrtens, Rafał Miłecki

They are needed for erasing/writing. Use a magic pointers and small
functions to preapre code for adding other buses suppoer in the future
(like SSB).

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
---
 drivers/mtd/devices/bcm47xxsflash.c |   13 +++++++++++++
 drivers/mtd/devices/bcm47xxsflash.h |    2 ++
 2 files changed, 15 insertions(+)

diff --git a/drivers/mtd/devices/bcm47xxsflash.c b/drivers/mtd/devices/bcm47xxsflash.c
index 18e7761..d1f0dec 100644
--- a/drivers/mtd/devices/bcm47xxsflash.c
+++ b/drivers/mtd/devices/bcm47xxsflash.c
@@ -48,6 +48,17 @@ static void bcm47xxsflash_fill_mtd(struct bcm47xxsflash *b47s)
  * BCMA
  **************************************************/
 
+static int bcm47xxsflash_bcma_cc_read(struct bcm47xxsflash *b47s, u16 offset)
+{
+	return bcma_cc_read32(b47s->bcma_cc, offset);
+}
+
+static void bcm47xxsflash_bcma_cc_write(struct bcm47xxsflash *b47s, u16 offset,
+					u32 value)
+{
+	bcma_cc_write32(b47s->bcma_cc, offset, value);
+}
+
 static int bcm47xxsflash_bcma_probe(struct platform_device *pdev)
 {
 	struct bcma_sflash *sflash = dev_get_platdata(&pdev->dev);
@@ -62,6 +73,8 @@ static int bcm47xxsflash_bcma_probe(struct platform_device *pdev)
 	sflash->priv = b47s;
 
 	b47s->bcma_cc = container_of(sflash, struct bcma_drv_cc, sflash);
+	b47s->cc_read = bcm47xxsflash_bcma_cc_read;
+	b47s->cc_write = bcm47xxsflash_bcma_cc_write;
 
 	switch (b47s->bcma_cc->capabilities & BCMA_CC_CAP_FLASHT) {
 	case BCMA_CC_FLASHT_STSER:
diff --git a/drivers/mtd/devices/bcm47xxsflash.h b/drivers/mtd/devices/bcm47xxsflash.h
index f22f8c4..fe93daf 100644
--- a/drivers/mtd/devices/bcm47xxsflash.h
+++ b/drivers/mtd/devices/bcm47xxsflash.h
@@ -60,6 +60,8 @@ enum bcm47xxsflash_type {
 
 struct bcm47xxsflash {
 	struct bcma_drv_cc *bcma_cc;
+	int (*cc_read)(struct bcm47xxsflash *b47s, u16 offset);
+	void (*cc_write)(struct bcm47xxsflash *b47s, u16 offset, u32 value);
 
 	enum bcm47xxsflash_type type;
 
-- 
1.7.10.4

^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2013-05-10 11:46 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-03-24 20:51 [PATCH 1/2] mtd: bcm47xxsflash: implement ChipCommon R/W ops Rafał Miłecki
2013-03-24 20:51 ` [PATCH 2/2] mtd: bcm47xxsflash: implement polling chip status Rafał Miłecki
2013-03-24 20:53 ` [PATCH V2 1/2] mtd: bcm47xxsflash: implement ChipCommon R/W ops Rafał Miłecki
2013-04-25  5:50 ` [PATCH " Rafał Miłecki
2013-05-10 11:48 ` Artem Bityutskiy

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.