Merge master.kernel.org:/home/rmk/linux-2.6-arm
[sfrench/cifs-2.6.git] / drivers / spi / spi.c
index c3219b29b5ac70b87190c36b195c4a6139dc385b..b05de30b5d9bbf4af1991ca8bc514b12acc8290d 100644 (file)
@@ -23,6 +23,7 @@
 #include <linux/device.h>
 #include <linux/init.h>
 #include <linux/cache.h>
+#include <linux/mutex.h>
 #include <linux/spi/spi.h>
 
 
@@ -185,7 +186,7 @@ struct boardinfo {
 };
 
 static LIST_HEAD(board_list);
-static DECLARE_MUTEX(board_lock);
+static DEFINE_MUTEX(board_lock);
 
 
 /**
@@ -292,9 +293,9 @@ spi_register_board_info(struct spi_board_info const *info, unsigned n)
        bi->n_board_info = n;
        memcpy(bi->board_info, info, n * sizeof *info);
 
-       down(&board_lock);
+       mutex_lock(&board_lock);
        list_add_tail(&bi->list, &board_list);
-       up(&board_lock);
+       mutex_unlock(&board_lock);
        return 0;
 }
 
@@ -302,13 +303,12 @@ spi_register_board_info(struct spi_board_info const *info, unsigned n)
  * creates board info from kernel command lines
  */
 
-static void __init_or_module
-scan_boardinfo(struct spi_master *master)
+static void scan_boardinfo(struct spi_master *master)
 {
        struct boardinfo        *bi;
        struct device           *dev = master->cdev.dev;
 
-       down(&board_lock);
+       mutex_lock(&board_lock);
        list_for_each_entry(bi, &board_list, list) {
                struct spi_board_info   *chip = bi->board_info;
                unsigned                n;
@@ -330,7 +330,7 @@ scan_boardinfo(struct spi_master *master)
                        (void) spi_new_device(master, chip);
                }
        }
-       up(&board_lock);
+       mutex_unlock(&board_lock);
 }
 
 /*-------------------------------------------------------------------------*/
@@ -411,7 +411,7 @@ EXPORT_SYMBOL_GPL(spi_alloc_master);
  */
 int spi_register_master(struct spi_master *master)
 {
-       static atomic_t         dyn_bus_id = ATOMIC_INIT((1<<16) - 1);
+       static atomic_t         dyn_bus_id = ATOMIC_INIT((1<<15) - 1);
        struct device           *dev = master->cdev.dev;
        int                     status = -ENODEV;
        int                     dynamic = 0;