Lines Matching refs:i2c_dev

46 struct i2c_dev {  struct
56 static struct i2c_dev *i2c_dev_get_by_minor(unsigned index) in i2c_dev_get_by_minor() argument
58 struct i2c_dev *i2c_dev; in i2c_dev_get_by_minor() local
61 list_for_each_entry(i2c_dev, &i2c_dev_list, list) { in i2c_dev_get_by_minor()
62 if (i2c_dev->adap->nr == index) in i2c_dev_get_by_minor()
65 i2c_dev = NULL; in i2c_dev_get_by_minor()
68 return i2c_dev; in i2c_dev_get_by_minor()
71 static struct i2c_dev *get_free_i2c_dev(struct i2c_adapter *adap) in get_free_i2c_dev()
73 struct i2c_dev *i2c_dev; in get_free_i2c_dev() local
81 i2c_dev = kzalloc(sizeof(*i2c_dev), GFP_KERNEL); in get_free_i2c_dev()
82 if (!i2c_dev) in get_free_i2c_dev()
84 i2c_dev->adap = adap; in get_free_i2c_dev()
87 list_add_tail(&i2c_dev->list, &i2c_dev_list); in get_free_i2c_dev()
89 return i2c_dev; in get_free_i2c_dev()
92 static void return_i2c_dev(struct i2c_dev *i2c_dev) in return_i2c_dev() argument
95 list_del(&i2c_dev->list); in return_i2c_dev()
97 kfree(i2c_dev); in return_i2c_dev()
103 struct i2c_dev *i2c_dev = i2c_dev_get_by_minor(MINOR(dev->devt)); in name_show() local
105 if (!i2c_dev) in name_show()
107 return sprintf(buf, "%s\n", i2c_dev->adap->name); in name_show()
489 struct i2c_dev *i2c_dev; in i2cdev_open() local
491 i2c_dev = i2c_dev_get_by_minor(minor); in i2cdev_open()
492 if (!i2c_dev) in i2cdev_open()
495 adap = i2c_get_adapter(i2c_dev->adap->nr); in i2cdev_open()
547 struct i2c_dev *i2c_dev; in i2cdev_attach_adapter() local
554 i2c_dev = get_free_i2c_dev(adap); in i2cdev_attach_adapter()
555 if (IS_ERR(i2c_dev)) in i2cdev_attach_adapter()
556 return PTR_ERR(i2c_dev); in i2cdev_attach_adapter()
559 i2c_dev->dev = device_create(i2c_dev_class, &adap->dev, in i2cdev_attach_adapter()
562 if (IS_ERR(i2c_dev->dev)) { in i2cdev_attach_adapter()
563 res = PTR_ERR(i2c_dev->dev); in i2cdev_attach_adapter()
571 return_i2c_dev(i2c_dev); in i2cdev_attach_adapter()
578 struct i2c_dev *i2c_dev; in i2cdev_detach_adapter() local
584 i2c_dev = i2c_dev_get_by_minor(adap->nr); in i2cdev_detach_adapter()
585 if (!i2c_dev) /* attach_adapter must have failed */ in i2cdev_detach_adapter()
588 return_i2c_dev(i2c_dev); in i2cdev_detach_adapter()