__DEVICE_ATTR
__DEVICE_ATTR(_name, _mode, _name##_show, NULL)
__DEVICE_ATTR(_name, 0200, NULL, _name##_store)
__DEVICE_ATTR(_name, _mode, _name##_show, _name##_store)
#define __DEVICE_ATTR_IGNORE_LOCKDEP __DEVICE_ATTR
struct device_attribute dev_attr_##_name = __DEVICE_ATTR(_name, _mode, _show, _store)
{ __DEVICE_ATTR(_name, _mode, device_show_ulong, device_store_ulong), &(_var) }
{ __DEVICE_ATTR(_name, _mode, device_show_int, device_store_int), &(_var) }
{ __DEVICE_ATTR(_name, _mode, device_show_bool, device_store_bool), &(_var) }
{ __DEVICE_ATTR(_name, (_mode) & ~0222, device_show_string, NULL), (_var) }