i3cbus             95 drivers/i3c/master.c i3c_bus_to_i3c_master(struct i3c_bus *i3cbus)
i3cbus             97 drivers/i3c/master.c 	return container_of(i3cbus, struct i3c_master_controller, bus);
i3cbus            396 drivers/i3c/master.c static void i3c_bus_cleanup(struct i3c_bus *i3cbus)
i3cbus            399 drivers/i3c/master.c 	idr_remove(&i3c_bus_idr, i3cbus->id);
i3cbus            403 drivers/i3c/master.c static int i3c_bus_init(struct i3c_bus *i3cbus)
i3cbus            407 drivers/i3c/master.c 	init_rwsem(&i3cbus->lock);
i3cbus            408 drivers/i3c/master.c 	INIT_LIST_HEAD(&i3cbus->devs.i2c);
i3cbus            409 drivers/i3c/master.c 	INIT_LIST_HEAD(&i3cbus->devs.i3c);
i3cbus            410 drivers/i3c/master.c 	i3c_bus_init_addrslots(i3cbus);
i3cbus            411 drivers/i3c/master.c 	i3cbus->mode = I3C_BUS_MODE_PURE;
i3cbus            414 drivers/i3c/master.c 	ret = idr_alloc(&i3c_bus_idr, i3cbus, 0, 0, GFP_KERNEL);
i3cbus            420 drivers/i3c/master.c 	i3cbus->id = ret;
i3cbus            436 drivers/i3c/master.c 	struct i3c_bus *i3cbus = dev_to_i3cbus(dev);
i3cbus            439 drivers/i3c/master.c 	i3c_bus_normaluse_lock(i3cbus);
i3cbus            440 drivers/i3c/master.c 	if (i3cbus->mode < 0 ||
i3cbus            441 drivers/i3c/master.c 	    i3cbus->mode >= ARRAY_SIZE(i3c_bus_mode_strings) ||
i3cbus            442 drivers/i3c/master.c 	    !i3c_bus_mode_strings[i3cbus->mode])
i3cbus            445 drivers/i3c/master.c 		ret = sprintf(buf, "%s\n", i3c_bus_mode_strings[i3cbus->mode]);
i3cbus            446 drivers/i3c/master.c 	i3c_bus_normaluse_unlock(i3cbus);
i3cbus            456 drivers/i3c/master.c 	struct i3c_bus *i3cbus = dev_to_i3cbus(dev);
i3cbus            459 drivers/i3c/master.c 	i3c_bus_normaluse_lock(i3cbus);
i3cbus            460 drivers/i3c/master.c 	ret = sprintf(buf, "%d-%llx\n", i3cbus->id,
i3cbus            461 drivers/i3c/master.c 		      i3cbus->cur_master->info.pid);
i3cbus            462 drivers/i3c/master.c 	i3c_bus_normaluse_unlock(i3cbus);
i3cbus            472 drivers/i3c/master.c 	struct i3c_bus *i3cbus = dev_to_i3cbus(dev);
i3cbus            475 drivers/i3c/master.c 	i3c_bus_normaluse_lock(i3cbus);
i3cbus            476 drivers/i3c/master.c 	ret = sprintf(buf, "%ld\n", i3cbus->scl_rate.i3c);
i3cbus            477 drivers/i3c/master.c 	i3c_bus_normaluse_unlock(i3cbus);
i3cbus            487 drivers/i3c/master.c 	struct i3c_bus *i3cbus = dev_to_i3cbus(dev);
i3cbus            490 drivers/i3c/master.c 	i3c_bus_normaluse_lock(i3cbus);
i3cbus            491 drivers/i3c/master.c 	ret = sprintf(buf, "%ld\n", i3cbus->scl_rate.i2c);
i3cbus            492 drivers/i3c/master.c 	i3c_bus_normaluse_unlock(i3cbus);
i3cbus            530 drivers/i3c/master.c int i3c_bus_set_mode(struct i3c_bus *i3cbus, enum i3c_bus_mode mode,
i3cbus            533 drivers/i3c/master.c 	struct i3c_master_controller *master = i3c_bus_to_i3c_master(i3cbus);
i3cbus            535 drivers/i3c/master.c 	i3cbus->mode = mode;
i3cbus            537 drivers/i3c/master.c 	switch (i3cbus->mode) {
i3cbus            539 drivers/i3c/master.c 		if (!i3cbus->scl_rate.i3c)
i3cbus            540 drivers/i3c/master.c 			i3cbus->scl_rate.i3c = I3C_BUS_TYP_I3C_SCL_RATE;
i3cbus            544 drivers/i3c/master.c 		if (!i3cbus->scl_rate.i3c)
i3cbus            545 drivers/i3c/master.c 			i3cbus->scl_rate.i3c = I3C_BUS_TYP_I3C_SCL_RATE;
i3cbus            546 drivers/i3c/master.c 		if (!i3cbus->scl_rate.i2c)
i3cbus            547 drivers/i3c/master.c 			i3cbus->scl_rate.i2c = max_i2c_scl_rate;
i3cbus            550 drivers/i3c/master.c 		if (!i3cbus->scl_rate.i2c)
i3cbus            551 drivers/i3c/master.c 			i3cbus->scl_rate.i2c = max_i2c_scl_rate;
i3cbus            552 drivers/i3c/master.c 		if (!i3cbus->scl_rate.i3c ||
i3cbus            553 drivers/i3c/master.c 		    i3cbus->scl_rate.i3c > i3cbus->scl_rate.i2c)
i3cbus            554 drivers/i3c/master.c 			i3cbus->scl_rate.i3c = i3cbus->scl_rate.i2c;
i3cbus            561 drivers/i3c/master.c 		i3cbus->scl_rate.i2c, i3cbus->scl_rate.i3c);
i3cbus            567 drivers/i3c/master.c 	if (i3cbus->scl_rate.i3c > I3C_BUS_MAX_I3C_SCL_RATE ||
i3cbus            568 drivers/i3c/master.c 	    i3cbus->scl_rate.i2c > I3C_BUS_I2C_FM_PLUS_SCL_RATE)
i3cbus           2411 drivers/i3c/master.c 	struct i3c_bus *i3cbus = i3c_master_get_bus(master);
i3cbus           2434 drivers/i3c/master.c 	ret = i3c_bus_init(i3cbus);
i3cbus           2439 drivers/i3c/master.c 	dev_set_name(&master->dev, "i3c-%d", i3cbus->id);
i3cbus           2468 drivers/i3c/master.c 	ret = i3c_bus_set_mode(i3cbus, mode, i2c_scl_rate);