Hello, uto, 6. lip 2023. u 16:45 Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx> napisao je: > > On 06/06/2023 16:07, Paulo Pavacic wrote: > > Fannal C3004 is a 480x800 display made by fannal that requires > > DCS initialization sequences. > > > > Signed-off-by: Paulo Pavacic <pavacic.p@xxxxxxxxx> > > --- > > v4 changelog: > > - formatting and style changes > > Are you sure? I see other changes - removal of some code, handling > errors and GPIO. > > > - change community room > > What does it mean? Where is this change in this patch? > > ... > > > + > > +static const struct drm_panel_funcs fannal_panel_funcs = { > > + .prepare = fannal_panel_prepare, > > + .unprepare = fannal_panel_unprepare, > > + .enable = fannal_panel_enable, > > + .disable = fannal_panel_disable, > > + .get_modes = fannal_panel_get_modes, > > +}; > > + > > +static int fannal_panel_probe(struct mipi_dsi_device *dsi) > > +{ > > + struct device *dev = &dsi->dev; > > + struct fannal_panel_data *panel_data; > > + int ret; > > + > > + panel_data = devm_kzalloc(&dsi->dev, sizeof(*panel_data), GFP_KERNEL); > > + > > Drop blank line. > > > + if (!panel_data) > > + return -ENOMEM; > > + > > + panel_data->reset = > > You have wrong wrapping here. devm_gpiod_get_optional() goes after =. I'm not sure why, but clang-format makes it that way. I'm using this style: https://raw.githubusercontent.com/torvalds/linux/master/.clang-format Do you have some other style? > > > + devm_gpiod_get_optional(dev, "reset", GPIOD_OUT_LOW); > > + > > Drop blank line. > > > + if (IS_ERR(panel_data->reset)) { > > + return dev_err_probe( > > + dev, PTR_ERR(panel_data->reset), > > + "error: probe: get reset GPIO: (%d) Check the fdt\n", > > + ret); > > + } > > + > > + mipi_dsi_set_drvdata(dsi, panel_data); > > + > > + dsi->format = MIPI_DSI_FMT_RGB888; > > + dsi->mode_flags = MIPI_DSI_CLOCK_NON_CONTINUOUS | > > + MIPI_DSI_MODE_VSYNC_FLUSH | MIPI_DSI_MODE_VIDEO_HSE | > > + MIPI_DSI_MODE_NO_EOT_PACKET | > > + MIPI_DSI_MODE_VIDEO_SYNC_PULSE | MIPI_DSI_MODE_VIDEO; > > + dsi->lanes = 2; > > + > > + gpiod_set_value_cansleep(panel_data->reset, 1); > > + > > + drm_panel_init(&panel_data->panel, dev, &fannal_panel_funcs, > > + DRM_MODE_CONNECTOR_DSI); > > + dev_set_drvdata(dev, panel_data); > > + > > + drm_panel_add(&panel_data->panel); > > + > > > Best regards, > Krzysztof > Thanks, Paulo