- patches.suse/slab-handle-memoryless-nodes-v2a.patch: Refresh.
[linux-flexiantxendom0-3.2.10.git] / arch / arm / plat-mxc / iomux-v3.c
index 851ca99..b318c6a 100644 (file)
 
 static void __iomem *base;
 
-static unsigned long iomux_v3_pad_alloc_map[0x200 / BITS_PER_LONG];
-
 /*
- * setups a single pin:
- *     - reserves the pin so that it is not claimed by another driver
- *     - setups the iomux according to the configuration
+ * setups a single pad in the iomuxer
  */
 int mxc_iomux_v3_setup_pad(struct pad_desc *pad)
 {
-       unsigned int pad_ofs = pad->pad_ctrl_ofs;
-
-       if (test_and_set_bit(pad_ofs >> 2, iomux_v3_pad_alloc_map))
-               return -EBUSY;
        if (pad->mux_ctrl_ofs)
                __raw_writel(pad->mux_mode, base + pad->mux_ctrl_ofs);
 
@@ -66,37 +58,13 @@ int mxc_iomux_v3_setup_multiple_pads(struct pad_desc *pad_list, unsigned count)
        for (i = 0; i < count; i++) {
                ret = mxc_iomux_v3_setup_pad(p);
                if (ret)
-                       goto setup_error;
+                       return ret;
                p++;
        }
        return 0;
-
-setup_error:
-       mxc_iomux_v3_release_multiple_pads(pad_list, i);
-       return ret;
 }
 EXPORT_SYMBOL(mxc_iomux_v3_setup_multiple_pads);
 
-void mxc_iomux_v3_release_pad(struct pad_desc *pad)
-{
-       unsigned int pad_ofs = pad->pad_ctrl_ofs;
-
-       clear_bit(pad_ofs >> 2, iomux_v3_pad_alloc_map);
-}
-EXPORT_SYMBOL(mxc_iomux_v3_release_pad);
-
-void mxc_iomux_v3_release_multiple_pads(struct pad_desc *pad_list, int count)
-{
-       struct pad_desc *p = pad_list;
-       int i;
-
-       for (i = 0; i < count; i++) {
-               mxc_iomux_v3_release_pad(p);
-               p++;
-       }
-}
-EXPORT_SYMBOL(mxc_iomux_v3_release_multiple_pads);
-
 void mxc_iomux_v3_init(void __iomem *iomux_v3_base)
 {
        base = iomux_v3_base;