sale
struct sale scmal[248];
static void scmdev_setup(struct scm_device *scmdev, struct sale *sale,
dev_set_name(&scmdev->dev, "%016llx", (unsigned long long) sale->sa);
scmdev->address = sale->sa;
scmdev->attrs.rank = sale->rank;
scmdev->attrs.persistence = sale->p;
scmdev->attrs.oper_state = sale->op_state;
scmdev->attrs.data_state = sale->data_state;
scmdev->attrs.rank = sale->rank;
scmdev->attrs.release = sale->r;
scmdev->attrs.res_id = sale->rid;
static void scmdev_update(struct scm_device *scmdev, struct sale *sale)
changed = scmdev->attrs.rank != sale->rank ||
scmdev->attrs.oper_state != sale->op_state;
scmdev->attrs.rank = sale->rank;
scmdev->attrs.oper_state = sale->op_state;
const struct sale *sale = data;
return scmdev->address == sale->sa;
static struct scm_device *scmdev_find(struct sale *sale)
dev = bus_find_device(&scm_bus_type, NULL, sale, check_address);
struct sale *sale, *scmal = scm_info->scmal;
for (sale = scmal; sale < scmal + num; sale++) {
scmdev = scmdev_find(sale);
scmdev_update(scmdev, sale);
scmdev_setup(scmdev, sale, scm_info->is, scm_info->mbc);
) / sizeof(struct sale);