2010年6月24日 星期四

linux driver create file

Create file in linux file system directory

Under /sys directory:
DEVICE_ATTR(name, mode, show, store);
int device_create_file(struct device *device, struct device_attribute *entry);
void device_remove_file(struct device *dev, struct device_attribute *attr);

For example:
static DEVICE_ATTR(dev, S_IRUGO, sculld_show_dev, NULL);
static void sculld_register_dev(struct sculld_dev *dev, int index) {
sprintf(dev->devname, "sculld%d", index);
dev->ldev.name = dev->devname;
dev->ldev.driver = &sculld_driver;
dev->ldev.dev.driver_data = dev;
register_ldd_device(&dev->ldev);
device_create_file(&dev->ldev.dev, &dev_attr_dev);
}


Under /proc directory:
1.
create_proc_entry( "file_name", S_IFREG | S_IWUSR, &proc_root);
2. SYSDEV_ATTR(_name, _mode, _show, _store)