+make it a int function
+s32 pruss_disable(struct device *dev, u8 pruss_num)
+
+ /* Reset PRU */
+ iowrite32(PRUCORE_CONTROL_RESETVAL,
+ &h_pruss->control);
+ spin_unlock(&pruss->lock);
+
+ return 0;
+}int?
+EXPORT_SYMBOL_GPL(pruss_disable);
+
+s32 pruss_enable(struct device *dev, u8 pruss_num)
+
+ if ((pruss_num != PRUCORE_0) && (pruss_num != PRUCORE_1))
+ return -EINVAL;
+
+ h_pruss = &pruss_mmap->core[pruss_num];
+
+ /* Reset PRU */
+ spin_lock(&pruss->lock);
+ iowrite32(PRUCORE_CONTROL_RESETVAL, &h_pruss->control);
+ /* Reset any garbage in the ram */if you make a array for these
+ if (pruss_num == PRUCORE_0)
+ for (i = 0; i < PRUSS_PRU0_RAM_SZ; i++)
+ iowrite32(0x0, &pruss_mmap->dram0[i]);
+ else if (pruss_num == PRUCORE_1)
+ for (i = 0; i < PRUSS_PRU1_RAM_SZ; i++)
+ iowrite32(0x0, &pruss_mmap->dram1[i]);
+/* Load the specified PRU with code */same here
+s32 pruss_load(struct device *dev, u8 pruss_num,
+ u32 *pruss_code, u32 code_size_in_words)
+{
+ struct pruss_priv *pruss = dev_get_drvdata(dev->parent);
+ struct pruss_map __iomem *pruss_mmap = pruss->ioaddr;
+ u32 __iomem *pruss_iram;
+ u32 i;
+
+ if (pruss_num == PRUCORE_0)
+ pruss_iram = (u32 __iomem *)&pruss_mmap->iram0;
+ else if (pruss_num == PRUCORE_1)
+ pruss_iram = (u32 __iomem *)&pruss_mmap->iram1;
+ else
+s32 pruss_run(struct device *dev, u8 pruss_num)int?
+ while (cnt--) {how long might this take? what about some delay, sleep, or reschedule?
+ temp_reg = ioread32(&h_pruss->control);
+ if (((temp_reg & PRUCORE_CONTROL_RUNSTATE_MASK) >>
+ PRUCORE_CONTROL_RUNSTATE_SHIFT) ==
+ PRUCORE_CONTROL_RUNSTATE_HALT)
+ break;
+s32 pruss_writeb(struct device *dev, u32 offset, u8 pdatatowrite)we usually don't use "p" variable names for pointers
+{
+ struct pruss_priv *pruss = dev_get_drvdata(dev->parent);
+ void __iomem *paddresstowrite;
+s32 pruss_rmwb(struct device *dev, u32 offset, u8 mask, u8 val)void function?
+void?
+s32 pruss_readb(struct device *dev, u32 offset, u8 *pdatatoread)
+{viod?
+ struct pruss_priv *pruss = dev_get_drvdata(dev->parent);
+ void __iomem *paddresstoread;
+
+ paddresstoread = pruss->ioaddr + offset ;
+ *pdatatoread = ioread8(paddresstoread);
+
+ return 0;
+}
+EXPORT_SYMBOL_GPL(pruss_readb);
+
+s32 pruss_readb_multi(struct device *dev, u32 offset,
+ u8 *pdatatoread, u16 bytestoread)
+{int?
+ struct pruss_priv *pruss = dev_get_drvdata(dev->parent);
+ u8 __iomem *paddresstoread;
+ u16 i;
+ return 0;void?
+}
+EXPORT_SYMBOL_GPL(pruss_readb_multi);
+
+s32 pruss_writel(struct device *dev, u32 offset,
+ u32 pdatatowrite)
+ return 0;void?
+}
+EXPORT_SYMBOL_GPL(pruss_writel);
+
+s32 pruss_writel_multi(struct device *dev, u32 offset,
+ u32 *pdatatowrite, u16 wordstowrite)
+{memcopy_to_iomem?
+ struct pruss_priv *pruss = dev_get_drvdata(dev->parent);
+ u32 __iomem *paddresstowrite;
+ u16 i;
+
+ paddresstowrite = pruss->ioaddr + offset;
+
+ for (i = 0; i < wordstowrite; i++)
+ iowrite32(*pdatatowrite++, paddresstowrite++);
+void?
+s32 pruss_rmwl(struct device *dev, u32 offset, u32 mask, u32 val)
+}void? or return the read value
+EXPORT_SYMBOL_GPL(pruss_rmwl);
+
+s32 pruss_readl(struct device *dev, u32 offset, u32 *pdatatoread)