Lines Matching defs:scmdev

25 	struct scm_device *scmdev = to_scm_dev(dev);
28 return scmdrv->probe ? scmdrv->probe(scmdev) : -ENODEV;
33 struct scm_device *scmdev = to_scm_dev(dev);
36 return scmdrv->remove ? scmdrv->remove(scmdev) : -ENODEV;
41 return add_uevent_var(env, "MODALIAS=scm:scmdev");
78 struct scm_device *scmdev = aobrq->scmdev;
79 struct scm_driver *scmdrv = to_scm_drv(scmdev->dev.driver);
81 scmdrv->handler(scmdev, aobrq->data, error);
89 struct scm_device *scmdev = to_scm_dev(dev); \
93 ret = sprintf(buf, "%u\n", scmdev->attrs.name); \
128 struct scm_device *scmdev = to_scm_dev(dev);
130 kfree(scmdev);
133 static void scmdev_setup(struct scm_device *scmdev, struct sale *sale,
136 dev_set_name(&scmdev->dev, "%016llx", (unsigned long long) sale->sa);
137 scmdev->nr_max_block = max_blk_count;
138 scmdev->address = sale->sa;
139 scmdev->size = 1UL << size;
140 scmdev->attrs.rank = sale->rank;
141 scmdev->attrs.persistence = sale->p;
142 scmdev->attrs.oper_state = sale->op_state;
143 scmdev->attrs.data_state = sale->data_state;
144 scmdev->attrs.rank = sale->rank;
145 scmdev->attrs.release = sale->r;
146 scmdev->attrs.res_id = sale->rid;
147 scmdev->dev.parent = scm_root;
148 scmdev->dev.bus = &scm_bus_type;
149 scmdev->dev.release = scmdev_release;
150 scmdev->dev.groups = scmdev_attr_groups;
156 static void scmdev_update(struct scm_device *scmdev, struct sale *sale)
161 device_lock(&scmdev->dev);
162 changed = scmdev->attrs.rank != sale->rank ||
163 scmdev->attrs.oper_state != sale->op_state;
164 scmdev->attrs.rank = sale->rank;
165 scmdev->attrs.oper_state = sale->op_state;
166 if (!scmdev->dev.driver)
168 scmdrv = to_scm_drv(scmdev->dev.driver);
170 scmdrv->notify(scmdev, SCM_CHANGE);
172 device_unlock(&scmdev->dev);
174 kobject_uevent(&scmdev->dev.kobj, KOBJ_CHANGE);
179 struct scm_device *scmdev = to_scm_dev(dev);
182 return scmdev->address == sale->sa;
197 struct scm_device *scmdev;
201 scmdev = scmdev_find(sale);
202 if (scmdev) {
203 scmdev_update(scmdev, sale);
205 put_device(&scmdev->dev);
208 scmdev = kzalloc(sizeof(*scmdev), GFP_KERNEL);
209 if (!scmdev)
211 scmdev_setup(scmdev, sale, scm_info->is, scm_info->mbc);
212 ret = device_register(&scmdev->dev);
215 put_device(&scmdev->dev);
259 struct scm_device *scmdev = to_scm_dev(dev);
262 scmdrv->notify(scmdev, SCM_AVAIL);