From 103e2d945ffd2af38d277fe6a3d7bcc4852d7917 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 25 May 2006 09:45:29 +0200 Subject: [PATCH] --- yaml --- r: 27881 b: refs/heads/master c: 04bbd0eafb0c733c6c7f5d63c5098c615fe0685a h: refs/heads/master i: 27879: cc159b1fea5f805f5658ec9d91d99f808a34d938 v: v3 --- [refs] | 2 +- trunk/drivers/mtd/nand/nand_base.c | 7 ++++--- trunk/drivers/mtd/nand/ndfc.c | 6 +++++- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/[refs] b/[refs] index b9b0404c4f2a..b16b1f2e62ef 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 8b9e9fe8c6ee354aa75dc5a33e1575b21aa52084 +refs/heads/master: 04bbd0eafb0c733c6c7f5d63c5098c615fe0685a diff --git a/trunk/drivers/mtd/nand/nand_base.c b/trunk/drivers/mtd/nand/nand_base.c index 5690de223c11..61b2363f9324 100644 --- a/trunk/drivers/mtd/nand/nand_base.c +++ b/trunk/drivers/mtd/nand/nand_base.c @@ -2125,6 +2125,9 @@ static int nand_allocate_kmem(struct mtd_info *mtd, struct nand_chip *chip) GFP_KERNEL); if (!chip->controller) goto outerr; + + spin_lock_init(&chip->controller->lock); + init_waitqueue_head(&chip->controller->wq); chip->options |= NAND_CONTROLLER_ALLOC; } return 0; @@ -2451,10 +2454,8 @@ int nand_scan(struct mtd_info *mtd, int maxchips) BUG(); } - /* Initialize state, waitqueue and spinlock */ + /* Initialize state */ chip->state = FL_READY; - init_waitqueue_head(&chip->controller->wq); - spin_lock_init(&chip->controller->lock); /* De-select the device */ chip->select_chip(mtd, -1); diff --git a/trunk/drivers/mtd/nand/ndfc.c b/trunk/drivers/mtd/nand/ndfc.c index 481541a683ca..4d70dd16cf5d 100644 --- a/trunk/drivers/mtd/nand/ndfc.c +++ b/trunk/drivers/mtd/nand/ndfc.c @@ -293,8 +293,12 @@ static struct platform_driver ndfc_nand_driver = { static int __init ndfc_nand_init(void) { - int ret = platform_driver_register(&ndfc_nand_driver); + int ret; + spin_lock_init(&ndfc_ctrl.ndfc_control.lock); + init_waitqueue_head(&ndfc_ctrl.ndfc_control.wq); + + ret = platform_driver_register(&ndfc_nand_driver); if (!ret) ret = platform_driver_register(&ndfc_chip_driver); return ret;