sdio_free_func_cis(func);
kfree(func->info);
- kfree(func->tmpbuf);
+ kfree(func->core_tmpbuf);
kfree(func);
}
* allocate buffer separately to make sure it's properly aligned for
* DMA usage (incl. 64 bit DMA)
*/
- func->tmpbuf = kmalloc(4, GFP_KERNEL);
- if (!func->tmpbuf) {
+ func->core_tmpbuf = kmalloc(4, GFP_KERNEL);
+ if (!func->core_tmpbuf) {
kfree(func);
return ERR_PTR(-ENOMEM);
}
if (err_ret)
*err_ret = 0;
- ret = sdio_memcpy_fromio(func, func->tmpbuf, addr, 2);
+ ret = sdio_memcpy_fromio(func, func->core_tmpbuf, addr, 2);
if (ret) {
if (err_ret)
*err_ret = ret;
return 0xFFFF;
}
- return le16_to_cpup((__le16 *)func->tmpbuf);
+ return le16_to_cpup((__le16 *)func->core_tmpbuf);
}
EXPORT_SYMBOL_GPL(sdio_readw);
{
int ret;
- *(__le16 *)func->tmpbuf = cpu_to_le16(b);
+ *(__le16 *)func->core_tmpbuf = cpu_to_le16(b);
- ret = sdio_memcpy_toio(func, addr, func->tmpbuf, 2);
+ ret = sdio_memcpy_toio(func, addr, func->core_tmpbuf, 2);
if (err_ret)
*err_ret = ret;
}
if (err_ret)
*err_ret = 0;
- ret = sdio_memcpy_fromio(func, func->tmpbuf, addr, 4);
+ ret = sdio_memcpy_fromio(func, func->core_tmpbuf, addr, 4);
if (ret) {
if (err_ret)
*err_ret = ret;
return 0xFFFFFFFF;
}
- return le32_to_cpup((__le32 *)func->tmpbuf);
+ return le32_to_cpup((__le32 *)func->core_tmpbuf);
}
EXPORT_SYMBOL_GPL(sdio_readl);
{
int ret;
- *(__le32 *)func->tmpbuf = cpu_to_le32(b);
+ *(__le32 *)func->core_tmpbuf = cpu_to_le32(b);
- ret = sdio_memcpy_toio(func, addr, func->tmpbuf, 4);
+ ret = sdio_memcpy_toio(func, addr, func->core_tmpbuf, 4);
if (err_ret)
*err_ret = ret;
}
unsigned int state; /* function state */
#define SDIO_STATE_PRESENT (1<<0) /* present in sysfs */
- u8 *tmpbuf; /* DMA:able scratch buffer */
+#ifndef __GENKSYMS__
+ u8 pad_tmpbuf[4];
+#else
+ u8 tmpbuf[4];
+#endif
unsigned num_info; /* number of info strings */
const char **info; /* info strings */
struct sdio_func_tuple *tuples;
+
+#ifndef __GENKSYMS__
+ u8 *core_tmpbuf; /* DMA:able scratch buffer
+ * for SDIO core use */
+#endif
};
#define sdio_func_present(f) ((f)->state & SDIO_STATE_PRESENT)