2016/4/20

read permission without 'show'

開機出現這個 message:
Attribute aabubu_addr: read permission without 'show'


這個的出處是:driver/base/core.c
int device_create_file(struct device *dev,
                       const struct device_attribute *attr)
{
        int error = 0;

        if (dev) {
                WARN(((attr->attr.mode & S_IWUGO) && !attr->store),
                        "Attribute %s: write permission without 'store'\n",
                        attr->attr.name);
                WARN(((attr->attr.mode & S_IRUGO) && !attr->show),
                        "Attribute %s: read permission without 'show'\n",
                        attr->attr.name);
                error = sysfs_create_file(&dev->kobj, &attr->attr);
        }

        return error;
}
所以是 createfile 時,給了 S_IRUGO 屬性,但是沒有實做 show function

找到 driver attr 屬性:
只有..
static DEVICE_ATTR(aabubu_addr, 0666, NULL, aabubu_addr_store);
果然,沒有實做 aabubu_addr_show

所以修改 addribure, 把 0666 改 0222 就 OK 了。

沒有留言:

張貼留言