Lines Matching +full:slave +full:- +full:dev

1 // SPDX-License-Identifier: GPL-2.0-only
2 // Copyright(c) 2015-2020 Intel Corporation.
14 * Slave sysfs
18 * The sysfs for Slave reflects the MIPI description as given
24 * |---- status
25 * |---- device_number
26 * |---- modalias
27 * |---- dev-properties
28 * |---- mipi_revision
29 * |---- wake_capable
30 * |---- test_mode_capable
31 * |---- clk_stop_mode1
32 * |---- simple_clk_stop_capable
33 * |---- clk_stop_timeout
34 * |---- ch_prep_timeout
35 * |---- reset_behave
36 * |---- high_PHY_capable
37 * |---- paging_support
38 * |---- bank_delay_support
39 * |---- p15_behave
40 * |---- master_count
41 * |---- source_ports
42 * |---- sink_ports
43 * |---- dp0
44 * |---- max_word
45 * |---- min_word
46 * |---- words
47 * |---- BRA_flow_controlled
48 * |---- simple_ch_prep_sm
49 * |---- imp_def_interrupts
50 * |---- dpN_<sink/src>
51 * |---- max_word
52 * |---- min_word
53 * |---- words
54 * |---- type
55 * |---- max_grouping
56 * |---- simple_ch_prep_sm
57 * |---- ch_prep_timeout
58 * |---- imp_def_interrupts
59 * |---- min_ch
60 * |---- max_ch
61 * |---- channels
62 * |---- ch_combinations
63 * |---- max_async_buffer
64 * |---- block_pack_mode
65 * |---- port_encoding
70 static ssize_t field##_show(struct device *dev, \
74 struct sdw_slave *slave = dev_to_sdw_dev(dev); \
75 return sprintf(buf, format_string, slave->prop.field); \
95 static ssize_t modalias_show(struct device *dev, in modalias_show() argument
98 struct sdw_slave *slave = dev_to_sdw_dev(dev); in modalias_show() local
100 return sdw_slave_modalias(slave, buf, 256); in modalias_show()
108 ATTRIBUTE_GROUPS(slave);
131 * for device-level properties
135 .name = "dev-properties",
143 static ssize_t field##_show(struct device *dev, \
147 struct sdw_slave *slave = dev_to_sdw_dev(dev); \
148 return sprintf(buf, format_string, slave->prop.dp0_prop->field);\
158 static ssize_t words_show(struct device *dev, in words_show() argument
161 struct sdw_slave *slave = dev_to_sdw_dev(dev); in words_show() local
165 for (i = 0; i < slave->prop.dp0_prop->num_words; i++) in words_show()
167 slave->prop.dp0_prop->words[i]); in words_show()
186 * for dp0-level properties
193 int sdw_slave_sysfs_init(struct sdw_slave *slave) in sdw_slave_sysfs_init() argument
197 ret = devm_device_add_groups(&slave->dev, slave_groups); in sdw_slave_sysfs_init()
201 ret = devm_device_add_group(&slave->dev, &sdw_slave_dev_attr_group); in sdw_slave_sysfs_init()
205 if (slave->prop.dp0_prop) { in sdw_slave_sysfs_init()
206 ret = devm_device_add_group(&slave->dev, &dp0_group); in sdw_slave_sysfs_init()
211 if (slave->prop.source_ports || slave->prop.sink_ports) { in sdw_slave_sysfs_init()
212 ret = sdw_slave_sysfs_dpn_init(slave); in sdw_slave_sysfs_init()
232 static ssize_t status_show(struct device *dev, in status_show() argument
235 struct sdw_slave *slave = dev_to_sdw_dev(dev); in status_show() local
237 return sprintf(buf, "%s\n", slave_status[slave->status]); in status_show()
241 static ssize_t device_number_show(struct device *dev, in device_number_show() argument
244 struct sdw_slave *slave = dev_to_sdw_dev(dev); in device_number_show() local
246 if (slave->status == SDW_SLAVE_UNATTACHED) in device_number_show()
249 return sprintf(buf, "%d", slave->dev_num); in device_number_show()