.. | .. |
---|
221 | 221 | return dsi; |
---|
222 | 222 | } |
---|
223 | 223 | |
---|
224 | | - dsi->dev.of_node = info->node; |
---|
| 224 | + device_set_node(&dsi->dev, of_fwnode_handle(info->node)); |
---|
225 | 225 | dsi->channel = info->channel; |
---|
226 | 226 | strlcpy(dsi->name, info->type, sizeof(dsi->name)); |
---|
227 | 227 | |
---|
.. | .. |
---|
1144 | 1144 | } |
---|
1145 | 1145 | EXPORT_SYMBOL(mipi_dsi_dcs_get_display_brightness); |
---|
1146 | 1146 | |
---|
| 1147 | +/** |
---|
| 1148 | + * mipi_dsi_dcs_set_display_brightness_large() - sets the 16-bit brightness value |
---|
| 1149 | + * of the display |
---|
| 1150 | + * @dsi: DSI peripheral device |
---|
| 1151 | + * @brightness: brightness value |
---|
| 1152 | + * |
---|
| 1153 | + * Return: 0 on success or a negative error code on failure. |
---|
| 1154 | + */ |
---|
| 1155 | +int mipi_dsi_dcs_set_display_brightness_large(struct mipi_dsi_device *dsi, |
---|
| 1156 | + u16 brightness) |
---|
| 1157 | +{ |
---|
| 1158 | + u8 payload[2] = { brightness >> 8, brightness & 0xff }; |
---|
| 1159 | + ssize_t err; |
---|
| 1160 | + |
---|
| 1161 | + err = mipi_dsi_dcs_write(dsi, MIPI_DCS_SET_DISPLAY_BRIGHTNESS, |
---|
| 1162 | + payload, sizeof(payload)); |
---|
| 1163 | + if (err < 0) |
---|
| 1164 | + return err; |
---|
| 1165 | + |
---|
| 1166 | + return 0; |
---|
| 1167 | +} |
---|
| 1168 | +EXPORT_SYMBOL(mipi_dsi_dcs_set_display_brightness_large); |
---|
| 1169 | + |
---|
| 1170 | +/** |
---|
| 1171 | + * mipi_dsi_dcs_get_display_brightness_large() - gets the current 16-bit |
---|
| 1172 | + * brightness value of the display |
---|
| 1173 | + * @dsi: DSI peripheral device |
---|
| 1174 | + * @brightness: brightness value |
---|
| 1175 | + * |
---|
| 1176 | + * Return: 0 on success or a negative error code on failure. |
---|
| 1177 | + */ |
---|
| 1178 | +int mipi_dsi_dcs_get_display_brightness_large(struct mipi_dsi_device *dsi, |
---|
| 1179 | + u16 *brightness) |
---|
| 1180 | +{ |
---|
| 1181 | + u8 brightness_be[2]; |
---|
| 1182 | + ssize_t err; |
---|
| 1183 | + |
---|
| 1184 | + err = mipi_dsi_dcs_read(dsi, MIPI_DCS_GET_DISPLAY_BRIGHTNESS, |
---|
| 1185 | + brightness_be, sizeof(brightness_be)); |
---|
| 1186 | + if (err <= 0) { |
---|
| 1187 | + if (err == 0) |
---|
| 1188 | + err = -ENODATA; |
---|
| 1189 | + |
---|
| 1190 | + return err; |
---|
| 1191 | + } |
---|
| 1192 | + |
---|
| 1193 | + *brightness = (brightness_be[0] << 8) | brightness_be[1]; |
---|
| 1194 | + |
---|
| 1195 | + return 0; |
---|
| 1196 | +} |
---|
| 1197 | +EXPORT_SYMBOL(mipi_dsi_dcs_get_display_brightness_large); |
---|
| 1198 | + |
---|
1147 | 1199 | static int mipi_dsi_drv_probe(struct device *dev) |
---|
1148 | 1200 | { |
---|
1149 | 1201 | struct mipi_dsi_driver *drv = to_mipi_dsi_driver(dev->driver); |
---|