hc
2024-02-20 102a0743326a03cd1a1202ceda21e175b7d3575c
kernel/drivers/gpu/drm/drm_mipi_dsi.c
....@@ -221,7 +221,7 @@
221221 return dsi;
222222 }
223223
224
- dsi->dev.of_node = info->node;
224
+ device_set_node(&dsi->dev, of_fwnode_handle(info->node));
225225 dsi->channel = info->channel;
226226 strlcpy(dsi->name, info->type, sizeof(dsi->name));
227227
....@@ -1144,6 +1144,58 @@
11441144 }
11451145 EXPORT_SYMBOL(mipi_dsi_dcs_get_display_brightness);
11461146
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
+
11471199 static int mipi_dsi_drv_probe(struct device *dev)
11481200 {
11491201 struct mipi_dsi_driver *drv = to_mipi_dsi_driver(dev->driver);