drivers/gpu/drm/openchrome/openchrome_analog.c  |   53 +++++++++++++-----------
 drivers/gpu/drm/openchrome/openchrome_clocks.c  |    4 -
 drivers/gpu/drm/openchrome/openchrome_crtc.c    |   38 +++++++++--------
 drivers/gpu/drm/openchrome/openchrome_cursor.c  |    8 +--
 drivers/gpu/drm/openchrome/openchrome_display.c |    6 +-
 drivers/gpu/drm/openchrome/openchrome_drv.c     |   25 +++++++----
 drivers/gpu/drm/openchrome/openchrome_drv.h     |    9 ++--
 drivers/gpu/drm/openchrome/openchrome_fp.c      |   45 ++++++++++----------
 drivers/gpu/drm/openchrome/openchrome_hdmi.c    |   16 ++++---
 drivers/gpu/drm/openchrome/openchrome_i2c.c     |   12 +++--
 drivers/gpu/drm/openchrome/openchrome_init.c    |   34 ++++-----------
 drivers/gpu/drm/openchrome/openchrome_ioctl.c   |    3 -
 drivers/gpu/drm/openchrome/openchrome_object.c  |    5 +-
 drivers/gpu/drm/openchrome/openchrome_pm.c      |    5 +-
 drivers/gpu/drm/openchrome/openchrome_sii164.c  |   18 +++++---
 drivers/gpu/drm/openchrome/openchrome_tmds.c    |   34 +++++++++------
 drivers/gpu/drm/openchrome/openchrome_vt1632.c  |   18 +++++---
 17 files changed, 191 insertions(+), 142 deletions(-)

New commits:
commit 529d1fc221aff08944cd817e4aec04d728a51ddd
Author: Kevin Brace <kevinbr...@gmx.com>
Date:   Fri May 20 11:56:43 2022 -0500

    drm/openchrome: Version bumped to 3.4.19
    
    Signed-off-by: Kevin Brace <kevinbr...@gmx.com>

diff --git a/drivers/gpu/drm/openchrome/openchrome_drv.h 
b/drivers/gpu/drm/openchrome/openchrome_drv.h
index e3b21826d4e4..e1081359d660 100644
--- a/drivers/gpu/drm/openchrome/openchrome_drv.h
+++ b/drivers/gpu/drm/openchrome/openchrome_drv.h
@@ -54,10 +54,10 @@
 
 #define DRIVER_MAJOR           3
 #define DRIVER_MINOR           4
-#define DRIVER_PATCHLEVEL      18
+#define DRIVER_PATCHLEVEL      19
 #define DRIVER_NAME            "openchrome"
 #define DRIVER_DESC            "OpenChrome DRM for VIA Technologies Chrome IGP"
-#define DRIVER_DATE            "20220209"
+#define DRIVER_DATE            "20220519"
 #define DRIVER_AUTHOR          "OpenChrome Project"
 
 
commit 1fdd81f16d24347ca19379fe1422e775fad98905
Author: Kevin Brace <kevinbr...@gmx.com>
Date:   Fri May 20 11:56:41 2022 -0500

    drm/openchrome: Use devm_drm_dev_alloc
    
    Based on commit cd82945 (drm/aspeed: Use devm_drm_dev_alloc).
    
    Signed-off-by: Kevin Brace <kevinbr...@gmx.com>

diff --git a/drivers/gpu/drm/openchrome/openchrome_analog.c 
b/drivers/gpu/drm/openchrome/openchrome_analog.c
index 83438c38d5a4..d21e9966a6ee 100644
--- a/drivers/gpu/drm/openchrome/openchrome_analog.c
+++ b/drivers/gpu/drm/openchrome/openchrome_analog.c
@@ -108,8 +108,9 @@ static const struct drm_encoder_funcs via_dac_enc_funcs = {
 static void
 via_analog_dpms(struct drm_encoder *encoder, int mode)
 {
+       struct drm_device *dev = encoder->dev;
        struct openchrome_drm_private *dev_private =
-                                       encoder->dev->dev_private;
+                                               to_openchrome_private(dev);
 
        DRM_DEBUG_KMS("Entered %s.\n", __func__);
 
@@ -159,8 +160,9 @@ via_analog_mode_set(struct drm_encoder *encoder,
                        struct drm_display_mode *mode,
                        struct drm_display_mode *adjusted_mode)
 {
+       struct drm_device *dev = encoder->dev;
        struct openchrome_drm_private *dev_private =
-                                       encoder->dev->dev_private;
+                                               to_openchrome_private(dev);
        struct via_crtc *iga = container_of(encoder->crtc, struct via_crtc, 
base);
 
        DRM_DEBUG_KMS("Entered %s.\n", __func__);
@@ -174,8 +176,9 @@ via_analog_mode_set(struct drm_encoder *encoder,
 static void
 via_analog_prepare(struct drm_encoder *encoder)
 {
+       struct drm_device *dev = encoder->dev;
        struct openchrome_drm_private *dev_private =
-                                       encoder->dev->dev_private;
+                                               to_openchrome_private(dev);
 
        DRM_DEBUG_KMS("Entered %s.\n", __func__);
 
@@ -190,8 +193,9 @@ via_analog_prepare(struct drm_encoder *encoder)
 static void
 via_analog_commit(struct drm_encoder *encoder)
 {
+       struct drm_device *dev = encoder->dev;
        struct openchrome_drm_private *dev_private =
-                                       encoder->dev->dev_private;
+                                               to_openchrome_private(dev);
 
        DRM_DEBUG_KMS("Entered %s.\n", __func__);
 
@@ -206,8 +210,9 @@ via_analog_commit(struct drm_encoder *encoder)
 static void
 via_analog_disable(struct drm_encoder *encoder)
 {
+       struct drm_device *dev = encoder->dev;
        struct openchrome_drm_private *dev_private =
-                                       encoder->dev->dev_private;
+                                               to_openchrome_private(dev);
 
        DRM_DEBUG_KMS("Entered %s.\n", __func__);
 
@@ -353,7 +358,7 @@ static const struct drm_connector_helper_funcs 
via_analog_connector_helper_funcs
 void via_analog_probe(struct drm_device *dev)
 {
        struct openchrome_drm_private *dev_private =
-                                               dev->dev_private;
+                                               to_openchrome_private(dev);
        struct pci_dev *pdev = to_pci_dev(dev->dev);
        u16 chipset = pdev->device;
        u8 sr13, sr5a;
@@ -408,7 +413,8 @@ void via_analog_init(struct drm_device *dev)
 {
        struct via_connector *con;
        struct via_encoder *enc;
-       struct openchrome_drm_private *dev_private = dev->dev_private;
+       struct openchrome_drm_private *dev_private =
+                                               to_openchrome_private(dev);
 
        enc = kzalloc(sizeof(*enc) + sizeof(*con), GFP_KERNEL);
        if (!enc) {
diff --git a/drivers/gpu/drm/openchrome/openchrome_clocks.c 
b/drivers/gpu/drm/openchrome/openchrome_clocks.c
index ac7cfb6802ae..15cfcdb8cd16 100644
--- a/drivers/gpu/drm/openchrome/openchrome_clocks.c
+++ b/drivers/gpu/drm/openchrome/openchrome_clocks.c
@@ -197,10 +197,10 @@ void
 via_set_vclock(struct drm_crtc *crtc, u32 clk)
 {
        struct via_crtc *iga = container_of(crtc, struct via_crtc, base);
-       struct openchrome_drm_private *dev_private =
-                                               crtc->dev->dev_private;
        struct drm_device *dev = crtc->dev;
        struct pci_dev *pdev = to_pci_dev(dev->dev);
+       struct openchrome_drm_private *dev_private =
+                                               to_openchrome_private(dev);
        unsigned long max_loop = 50, i = 0;
 
        if (!iga->index) {
diff --git a/drivers/gpu/drm/openchrome/openchrome_crtc.c 
b/drivers/gpu/drm/openchrome/openchrome_crtc.c
index 876cdb422442..8c2c5b81a8a2 100644
--- a/drivers/gpu/drm/openchrome/openchrome_crtc.c
+++ b/drivers/gpu/drm/openchrome/openchrome_crtc.c
@@ -188,7 +188,7 @@ static int openchrome_gamma_set(struct drm_crtc *crtc,
        struct drm_device *dev = crtc->dev;
        struct pci_dev *pdev = to_pci_dev(dev->dev);
        struct openchrome_drm_private *dev_private =
-                                               crtc->dev->dev_private;
+                                               to_openchrome_private(dev);
        struct via_crtc *iga = container_of(crtc,
                                                struct via_crtc, base);
        int end = (size > 256) ? 256 : size, i;
@@ -1112,9 +1112,10 @@ void
 via_load_crtc_pixel_timing(struct drm_crtc *crtc,
                                struct drm_display_mode *mode)
 {
+       struct drm_device *dev = crtc->dev;
        struct via_crtc *iga = container_of(crtc, struct via_crtc, base);
        struct openchrome_drm_private *dev_private =
-                                               crtc->dev->dev_private;
+                                               to_openchrome_private(dev);
        u32 reg_value = 0;
 
        reg_value = IGA1_PIXELTIMING_HOR_TOTAL_FORMULA(mode->crtc_htotal);
@@ -1188,10 +1189,10 @@ via_load_crtc_pixel_timing(struct drm_crtc *crtc,
 void
 via_load_crtc_timing(struct via_crtc *iga, struct drm_display_mode *mode)
 {
-       struct openchrome_drm_private *dev_private =
-                                       iga->base.dev->dev_private;
        struct drm_device *dev = iga->base.dev;
        struct pci_dev *pdev = to_pci_dev(dev->dev);
+       struct openchrome_drm_private *dev_private =
+                                               to_openchrome_private(dev);
        u32 reg_value = 0;
 
        if (!iga->index) {
@@ -1287,11 +1288,11 @@ void
 via_set_scale_path(struct drm_crtc *crtc, u32 scale_type)
 {
        struct via_crtc *iga = container_of(crtc, struct via_crtc, base);
-       struct openchrome_drm_private *dev_private =
-                                               crtc->dev->dev_private;
-       u8 reg_cr_fd = vga_rcrt(VGABASE, 0xFD);
        struct drm_device *dev = crtc->dev;
        struct pci_dev *pdev = to_pci_dev(dev->dev);
+       struct openchrome_drm_private *dev_private =
+                                               to_openchrome_private(dev);
+       u8 reg_cr_fd = vga_rcrt(VGABASE, 0xFD);
 
        if (!iga->index)
                /* register reuse: select IGA1 path */
@@ -1334,8 +1335,9 @@ static void
 via_disable_iga_scaling(struct drm_crtc *crtc)
 {
        struct via_crtc *iga = container_of(crtc, struct via_crtc, base);
+       struct drm_device *dev = crtc->dev;
        struct openchrome_drm_private *dev_private =
-                                               crtc->dev->dev_private;
+                                               to_openchrome_private(dev);
 
        if (iga->index) {
                /* IGA2 scalings disable */
@@ -1381,8 +1383,9 @@ bool
 via_set_iga_scale_function(struct drm_crtc *crtc, u32 scale_type)
 {
        struct via_crtc *iga = container_of(crtc, struct via_crtc, base);
+       struct drm_device *dev = crtc->dev;
        struct openchrome_drm_private *dev_private =
-                                               crtc->dev->dev_private;
+                                               to_openchrome_private(dev);
 
        if (!(scale_type & (VIA_SHRINK + VIA_EXPAND)))
                return false;
@@ -1601,7 +1604,7 @@ void openchrome_mode_set_nofb(struct drm_crtc *crtc)
        struct via_crtc *iga = container_of(crtc,
                                                struct via_crtc, base);
        struct openchrome_drm_private *dev_private =
-                                               crtc->dev->dev_private;
+                                               to_openchrome_private(dev);
        u8 reg_value = 0;
        int ret;
 
@@ -1809,8 +1812,9 @@ exit:
 static void openchrome_crtc_helper_atomic_enable(struct drm_crtc *crtc,
                                        struct drm_atomic_state *state)
 {
+       struct drm_device *dev = crtc->dev;
        struct openchrome_drm_private *dev_private =
-                                               crtc->dev->dev_private;
+                                               to_openchrome_private(dev);
        struct via_crtc *iga = container_of(crtc,
                                                struct via_crtc, base);
 
@@ -1828,8 +1832,9 @@ static void openchrome_crtc_helper_atomic_enable(struct 
drm_crtc *crtc,
 static void openchrome_crtc_helper_atomic_disable(struct drm_crtc *crtc,
                                        struct drm_atomic_state *state)
 {
+       struct drm_device *dev = crtc->dev;
        struct openchrome_drm_private *dev_private =
-                                               crtc->dev->dev_private;
+                                               to_openchrome_private(dev);
        struct via_crtc *iga = container_of(crtc,
                                                struct via_crtc, base);
 
@@ -1860,7 +1865,7 @@ static int openchrome_primary_atomic_check(struct 
drm_plane *plane,
        struct drm_device *dev = plane->dev;
        struct drm_framebuffer *fb = new_plane_state->fb;
        struct openchrome_drm_private *dev_private =
-                                       plane->dev->dev_private;
+                                               to_openchrome_private(dev);
        uint32_t frame_buffer_size;
        int ret = 0;
 
@@ -1916,8 +1921,9 @@ void openchrome_primary_atomic_update(struct drm_plane 
*plane,
                        (new_state->crtc_x * fb->format->cpp[0]);
        uint32_t addr;
        struct via_crtc *iga = container_of(crtc, struct via_crtc, base);
+       struct drm_device *dev = crtc->dev;
        struct openchrome_drm_private *dev_private =
-                                               crtc->dev->dev_private;
+                                               to_openchrome_private(dev);
        struct drm_gem_object *gem;
        struct ttm_buffer_object *ttm_bo;
        struct openchrome_bo *bo;
@@ -2062,7 +2068,7 @@ static void openchrome_crtc_param_init(
                struct drm_crtc *crtc,
                uint32_t index)
 {
-       struct drm_device *dev = dev_private->dev;
+       struct drm_device *dev = &dev_private->dev;
        struct pci_dev *pdev = to_pci_dev(dev->dev);
        struct via_crtc *iga = container_of(crtc,
                                                struct via_crtc, base);
@@ -2255,7 +2261,7 @@ static const uint32_t openchrome_primary_formats[] = {
 int openchrome_crtc_init(struct openchrome_drm_private *dev_private,
                                uint32_t index)
 {
-       struct drm_device *dev = dev_private->dev;
+       struct drm_device *dev = &dev_private->dev;
        struct via_crtc *iga;
        struct drm_plane *primary;
        struct drm_plane *cursor;
diff --git a/drivers/gpu/drm/openchrome/openchrome_cursor.c 
b/drivers/gpu/drm/openchrome/openchrome_cursor.c
index e822b287c1e0..37d4650f0bf4 100644
--- a/drivers/gpu/drm/openchrome/openchrome_cursor.c
+++ b/drivers/gpu/drm/openchrome/openchrome_cursor.c
@@ -58,7 +58,7 @@ static void openchrome_hide_cursor(struct drm_crtc *crtc)
        struct via_crtc *iga = container_of(crtc,
                                        struct via_crtc, base);
        struct openchrome_drm_private *dev_private =
-                                       dev->dev_private;
+                                               to_openchrome_private(dev);
        uint32_t temp;
 
        switch (pdev->device) {
@@ -91,7 +91,7 @@ static void openchrome_show_cursor(struct drm_crtc *crtc)
        struct via_crtc *iga = container_of(crtc,
                                        struct via_crtc, base);
        struct openchrome_drm_private *dev_private =
-                                       crtc->dev->dev_private;
+                                               to_openchrome_private(dev);
 
        switch (pdev->device) {
        case PCI_DEVICE_ID_VIA_VT3157:
@@ -169,7 +169,7 @@ static void openchrome_cursor_address(struct drm_crtc *crtc,
        struct via_crtc *iga = container_of(crtc,
                                        struct via_crtc, base);
        struct openchrome_drm_private *dev_private =
-                                       crtc->dev->dev_private;
+                                               to_openchrome_private(dev);
 
        switch (pdev->device) {
        case PCI_DEVICE_ID_VIA_VT3157:
@@ -210,7 +210,7 @@ static void openchrome_set_hi_location(struct drm_crtc 
*crtc,
        struct via_crtc *iga = container_of(crtc,
                                        struct via_crtc, base);
        struct openchrome_drm_private *dev_private =
-                                       crtc->dev->dev_private;
+                                               to_openchrome_private(dev);
        uint32_t location_x = 0, location_y = 0;
        uint32_t offset_x = 0, offset_y = 0;
 
diff --git a/drivers/gpu/drm/openchrome/openchrome_display.c 
b/drivers/gpu/drm/openchrome/openchrome_display.c
index 04e472ea5e00..311e191fe2c3 100644
--- a/drivers/gpu/drm/openchrome/openchrome_display.c
+++ b/drivers/gpu/drm/openchrome/openchrome_display.c
@@ -91,7 +91,8 @@ static void
 via_init_td_timing_regs(struct drm_device *dev)
 {
        struct pci_dev *pdev = to_pci_dev(dev->dev);
-       struct openchrome_drm_private *dev_private = dev->dev_private;
+       struct openchrome_drm_private *dev_private =
+                                               to_openchrome_private(dev);
        unsigned int td_timer[4] = { 500, 50, 0, 510 }, i;
        struct vga_registers timings;
        u32 reg_value;
@@ -127,7 +128,8 @@ int
 via_modeset_init(struct drm_device *dev)
 {
        struct pci_dev *pdev = to_pci_dev(dev->dev);
-       struct openchrome_drm_private *dev_private = dev->dev_private;
+       struct openchrome_drm_private *dev_private =
+                                               to_openchrome_private(dev);
        uint32_t i;
        int ret = 0;
 
diff --git a/drivers/gpu/drm/openchrome/openchrome_drv.c 
b/drivers/gpu/drm/openchrome/openchrome_drv.c
index d64ff06d5829..d20da99bc515 100644
--- a/drivers/gpu/drm/openchrome/openchrome_drv.c
+++ b/drivers/gpu/drm/openchrome/openchrome_drv.c
@@ -90,7 +90,8 @@ static int openchrome_driver_dumb_create(
                                struct drm_device *dev,
                                struct drm_mode_create_dumb *args)
 {
-       struct openchrome_drm_private *dev_private = dev->dev_private;
+       struct openchrome_drm_private *dev_private =
+                                               to_openchrome_private(dev);
        struct openchrome_bo *bo;
        uint32_t handle, pitch;
        uint64_t size;
@@ -199,6 +200,7 @@ static int openchrome_pci_probe(struct pci_dev *pdev,
                                const struct pci_device_id *ent)
 {
        struct drm_device *dev;
+       struct openchrome_drm_private *dev_private;
        int ret;
 
        DRM_DEBUG_KMS("Entered %s.\n", __func__);
@@ -214,28 +216,31 @@ static int openchrome_pci_probe(struct pci_dev *pdev,
                goto exit;
        }
 
-       dev = drm_dev_alloc(&openchrome_driver, &pdev->dev);
-       if (IS_ERR(dev)) {
-               ret = PTR_ERR(dev);
-               goto error_disable_pci;
+       dev_private = devm_drm_dev_alloc(&pdev->dev,
+                                       &openchrome_driver,
+                                       struct openchrome_drm_private,
+                                       dev);
+       if (IS_ERR(dev_private)) {
+               ret = PTR_ERR(dev_private);
+               goto exit;
        }
 
+       dev = &dev_private->dev;
+
        pci_set_drvdata(pdev, dev);
 
        ret = openchrome_drm_init(dev);
        if (ret) {
-               goto err_drm_dev_put;
+               goto error_disable_pci;
        }
 
        ret = drm_dev_register(dev, ent->driver_data);
        if (ret) {
-               goto err_drm_dev_put;
+               goto error_disable_pci;
        }
 
        drm_fbdev_generic_setup(dev, 32);
        goto exit;
-err_drm_dev_put:
-       drm_dev_put(dev);
 error_disable_pci:
        pci_disable_device(pdev);
 exit:
@@ -251,7 +256,6 @@ static void openchrome_pci_remove(struct pci_dev *pdev)
 
        openchrome_drm_fini(dev);
        drm_dev_unregister(dev);
-       drm_dev_put(dev);
 
        DRM_DEBUG_KMS("Exiting %s.\n", __func__);
 }
diff --git a/drivers/gpu/drm/openchrome/openchrome_drv.h 
b/drivers/gpu/drm/openchrome/openchrome_drv.h
index 02fa1e541fce..e3b21826d4e4 100644
--- a/drivers/gpu/drm/openchrome/openchrome_drv.h
+++ b/drivers/gpu/drm/openchrome/openchrome_drv.h
@@ -204,7 +204,7 @@ enum via_engine {
 };
 
 struct openchrome_drm_private {
-       struct drm_device *dev;
+       struct drm_device dev;
 
        struct ttm_device               bdev;
 
@@ -312,6 +312,9 @@ struct openchrome_drm_private {
 };
 
 
+#define to_openchrome_private(x) container_of(x, struct 
openchrome_drm_private, dev)
+
+
 /* VIA MMIO register access */
 #define VIA_BASE ((dev_private->mmio))
 
diff --git a/drivers/gpu/drm/openchrome/openchrome_fp.c 
b/drivers/gpu/drm/openchrome/openchrome_fp.c
index 793bb76933a6..57d0afdc464e 100644
--- a/drivers/gpu/drm/openchrome/openchrome_fp.c
+++ b/drivers/gpu/drm/openchrome/openchrome_fp.c
@@ -594,7 +594,7 @@ static void via_fp_dpms(struct drm_encoder *encoder, int 
mode)
        struct drm_device *dev = encoder->dev;
        struct pci_dev *pdev = to_pci_dev(dev->dev);
        struct openchrome_drm_private *dev_private =
-                                       encoder->dev->dev_private;
+                                               to_openchrome_private(dev);
 
        /* PCI Device ID */
        u16 chipset = pdev->device;
@@ -691,7 +691,7 @@ static void via_fp_prepare(struct drm_encoder *encoder)
        struct drm_device *dev = encoder->dev;
        struct pci_dev *pdev = to_pci_dev(dev->dev);
        struct openchrome_drm_private *dev_private =
-                                       encoder->dev->dev_private;
+                                               to_openchrome_private(dev);
 
        /* PCI Device ID */
        u16 chipset = pdev->device;
@@ -711,7 +711,7 @@ static void via_fp_commit(struct drm_encoder *encoder)
        struct drm_device *dev = encoder->dev;
        struct pci_dev *pdev = to_pci_dev(dev->dev);
        struct openchrome_drm_private *dev_private =
-                                       encoder->dev->dev_private;
+                                               to_openchrome_private(dev);
 
        /* PCI Device ID */
        u16 chipset = pdev->device;
@@ -733,7 +733,7 @@ via_fp_mode_set(struct drm_encoder *encoder, struct 
drm_display_mode *mode,
        struct drm_device *dev = encoder->dev;
        struct pci_dev *pdev = to_pci_dev(dev->dev);
        struct openchrome_drm_private *dev_private =
-                                       encoder->dev->dev_private;
+                                               to_openchrome_private(dev);
 
        /* PCI Device ID */
        u16 chipset = pdev->device;
@@ -779,7 +779,7 @@ static void via_fp_disable(struct drm_encoder *encoder)
        struct drm_device *dev = encoder->dev;
        struct pci_dev *pdev = to_pci_dev(dev->dev);
        struct openchrome_drm_private *dev_private =
-                                       encoder->dev->dev_private;
+                                               to_openchrome_private(dev);
 
        /* PCI Device ID */
        u16 chipset = pdev->device;
@@ -813,7 +813,7 @@ via_fp_detect(struct drm_connector *connector,  bool force)
        struct via_connector *con = container_of(connector,
                                        struct via_connector, base);
        struct openchrome_drm_private *dev_private =
-                                       connector->dev->dev_private;
+                                               to_openchrome_private(dev);
        enum drm_connector_status ret = connector_status_disconnected;
        struct i2c_adapter *i2c_bus;
        struct edid *edid = NULL;
@@ -939,7 +939,8 @@ via_fp_get_modes(struct drm_connector *connector)
 {
        struct via_connector *con = container_of(connector, struct 
via_connector, base);
        struct drm_device *dev = connector->dev;
-       struct openchrome_drm_private *dev_private = dev->dev_private;
+       struct openchrome_drm_private *dev_private =
+                                               to_openchrome_private(dev);
        struct i2c_adapter *i2c_bus;
        struct edid *edid = NULL;
        struct drm_display_mode *native_mode = NULL;
@@ -1092,7 +1093,8 @@ struct drm_connector_helper_funcs 
via_fp_connector_helper_funcs = {
 void via_fp_probe(struct drm_device *dev)
 {
        struct pci_dev *pdev = to_pci_dev(dev->dev);
-       struct openchrome_drm_private *dev_private = dev->dev_private;
+       struct openchrome_drm_private *dev_private =
+                                               to_openchrome_private(dev);
        struct drm_connector connector;
        struct i2c_adapter *i2c_bus;
        struct edid *edid;
@@ -1338,7 +1340,8 @@ void via_fp_probe(struct drm_device *dev)
 
 void via_fp_init(struct drm_device *dev)
 {
-       struct openchrome_drm_private *dev_private = dev->dev_private;
+       struct openchrome_drm_private *dev_private =
+                                               to_openchrome_private(dev);
        struct via_connector *con;
        struct via_encoder *enc;
 
diff --git a/drivers/gpu/drm/openchrome/openchrome_hdmi.c 
b/drivers/gpu/drm/openchrome/openchrome_hdmi.c
index 416b8b9a060f..4156af134b81 100644
--- a/drivers/gpu/drm/openchrome/openchrome_hdmi.c
+++ b/drivers/gpu/drm/openchrome/openchrome_hdmi.c
@@ -51,8 +51,9 @@ static const struct drm_encoder_funcs via_hdmi_enc_funcs = {
 static void
 via_hdmi_enc_dpms(struct drm_encoder *encoder, int mode)
 {
+       struct drm_device *dev = encoder->dev;
        struct openchrome_drm_private *dev_private =
-                       encoder->dev->dev_private;
+                                               to_openchrome_private(dev);
 
        switch (mode) {
        case DRM_MODE_DPMS_SUSPEND:
@@ -161,7 +162,9 @@ static void
 via_hdmi_native_mode_set(struct via_crtc *iga, struct drm_display_mode *mode,
                        bool audio_off)
 {
-       struct openchrome_drm_private *dev_private = iga->base.dev->dev_private;
+       struct drm_device *dev = iga->base.dev;
+       struct openchrome_drm_private *dev_private =
+                                               to_openchrome_private(dev);
        u32 reg_c280, reg_c284;
        int max_packet, delay;
        u8 value = BIT(0);
@@ -248,10 +251,11 @@ via_hdmi_enc_mode_set(struct drm_encoder *encoder,
 {
        struct via_encoder *enc = container_of(encoder, struct via_encoder, 
base);
        struct via_crtc *iga = container_of(encoder->crtc, struct via_crtc, 
base);
-       struct openchrome_drm_private *dev_private = encoder->dev->dev_private;
        struct drm_connector *connector = NULL, *con;
        struct drm_device *dev = encoder->dev;
        struct pci_dev *pdev = to_pci_dev(dev->dev);
+       struct openchrome_drm_private *dev_private =
+                                               to_openchrome_private(dev);
 
        list_for_each_entry(con, &dev->mode_config.connector_list, head) {
                if (encoder ==  con->encoder) {
@@ -499,8 +503,9 @@ struct edid *
 via_hdmi_get_edid(struct drm_connector *connector)
 {
        bool print_bad_edid = !connector->bad_edid_counter || 
(drm_debug_enabled(DRM_UT_KMS));
+       struct drm_device *dev = connector->dev;
        struct openchrome_drm_private *dev_private =
-                                       connector->dev->dev_private;
+                                               to_openchrome_private(dev);
        struct edid *edid = NULL;
        int i, j = 0;
        u8 *block;
@@ -591,8 +596,9 @@ out:
 static enum drm_connector_status
 via_hdmi_detect(struct drm_connector *connector, bool force)
 {
+       struct drm_device *dev = connector->dev;
        struct openchrome_drm_private *dev_private =
-                                       connector->dev->dev_private;
+                                               to_openchrome_private(dev);
        enum drm_connector_status ret = connector_status_disconnected;
        u32 mm_c730 = VIA_READ(0xc730) & 0xC0000000;
        struct edid *edid = NULL;
diff --git a/drivers/gpu/drm/openchrome/openchrome_i2c.c 
b/drivers/gpu/drm/openchrome/openchrome_i2c.c
index e82bebaf5344..1c6385f55a01 100644
--- a/drivers/gpu/drm/openchrome/openchrome_i2c.c
+++ b/drivers/gpu/drm/openchrome/openchrome_i2c.c
@@ -33,7 +33,8 @@ static void via_i2c_setsda(void *data, int state)
 {
        struct via_i2c_stuff *i2c = data;
        struct drm_device *dev = i2c_get_adapdata(&i2c->adapter);
-       struct openchrome_drm_private *dev_private = dev->dev_private;
+       struct openchrome_drm_private *dev_private =
+                                               to_openchrome_private(dev);
        u8 value, mask;
 
        if (i2c->is_active == GPIO) {
@@ -51,7 +52,8 @@ static void via_i2c_setscl(void *data, int state)
 {
        struct via_i2c_stuff *i2c = data;
        struct drm_device *dev = i2c_get_adapdata(&i2c->adapter);
-       struct openchrome_drm_private *dev_private = dev->dev_private;
+       struct openchrome_drm_private *dev_private =
+                                               to_openchrome_private(dev);
        u8 value, mask;
 
        if (i2c->is_active == GPIO) {
@@ -69,7 +71,8 @@ static int via_i2c_getsda(void *data)
 {
        struct via_i2c_stuff *i2c = data;
        struct drm_device *dev = i2c_get_adapdata(&i2c->adapter);
-       struct openchrome_drm_private *dev_private = dev->dev_private;
+       struct openchrome_drm_private *dev_private =
+                                               to_openchrome_private(dev);
 
        return vga_rseq(VGABASE, i2c->i2c_port) & BIT(2);
 }
@@ -78,7 +81,8 @@ static int via_i2c_getscl(void *data)
 {
        struct via_i2c_stuff *i2c = data;
        struct drm_device *dev = i2c_get_adapdata(&i2c->adapter);
-       struct openchrome_drm_private *dev_private = dev->dev_private;
+       struct openchrome_drm_private *dev_private =
+                                               to_openchrome_private(dev);
 
        return vga_rseq(VGABASE, i2c->i2c_port) & BIT(3);
 }
diff --git a/drivers/gpu/drm/openchrome/openchrome_init.c 
b/drivers/gpu/drm/openchrome/openchrome_init.c
index 17d376586b70..d252b3295c7e 100644
--- a/drivers/gpu/drm/openchrome/openchrome_init.c
+++ b/drivers/gpu/drm/openchrome/openchrome_init.c
@@ -769,7 +769,7 @@ static int vx900_mem_type(struct openchrome_drm_private 
*dev_private,
 
 int openchrome_vram_detect(struct openchrome_drm_private *dev_private)
 {
-       struct drm_device *dev = dev_private->dev;
+       struct drm_device *dev = &dev_private->dev;
        struct pci_dev *pdev = to_pci_dev(dev->dev);
        struct pci_dev *bridge = NULL;
        struct pci_dev *fn3 = NULL;
@@ -1017,7 +1017,7 @@ static void openchrome_flag_init(struct 
openchrome_drm_private *dev_private)
 static void openchrome_quirks_init(
                        struct openchrome_drm_private *dev_private)
 {
-       struct drm_device *dev = dev_private->dev;
+       struct drm_device *dev = &dev_private->dev;
        struct pci_dev *pdev = to_pci_dev(dev->dev);
 
        DRM_DEBUG_KMS("Entered %s.\n", __func__);
@@ -1101,7 +1101,7 @@ void openchrome_vram_fini(struct openchrome_drm_private 
*dev_private)
 int openchrome_mmio_init(
                        struct openchrome_drm_private *dev_private)
 {
-       struct drm_device *dev = dev_private->dev;
+       struct drm_device *dev = &dev_private->dev;
        struct pci_dev *pdev = to_pci_dev(dev->dev);
        int ret = 0;
 
@@ -1170,7 +1170,7 @@ void openchrome_graphics_unlock(
 
 void chip_revision_info(struct openchrome_drm_private *dev_private)
 {
-       struct drm_device *dev = dev_private->dev;
+       struct drm_device *dev = &dev_private->dev;
        struct pci_dev *pdev = to_pci_dev(dev->dev);
        u8 tmp;
 
@@ -1275,7 +1275,7 @@ drm_mode_config_funcs openchrome_drm_mode_config_funcs = {
 void openchrome_mode_config_init(
                        struct openchrome_drm_private *dev_private)
 {
-       struct drm_device *dev = dev_private->dev;
+       struct drm_device *dev = &dev_private->dev;
 
        DRM_DEBUG_KMS("Entered %s.\n", __func__);
 
@@ -1301,34 +1301,24 @@ void openchrome_mode_config_init(
 
 int openchrome_drm_init(struct drm_device *dev)
 {
-       struct openchrome_drm_private *dev_private;
+       struct openchrome_drm_private *dev_private =
+                                               to_openchrome_private(dev);
        int ret = 0;
 
        DRM_DEBUG_KMS("Entered %s.\n", __func__);
 
-       dev_private = kzalloc(sizeof(struct openchrome_drm_private),
-                               GFP_KERNEL);
-       if (!dev_private) {
-               ret = -ENOMEM;
-               DRM_ERROR("Failed to allocate private "
-                               "storage memory.\n");
-               goto exit;
-       }
-
-       dev->dev_private = (void *) dev_private;
-       dev_private->dev = dev;
        dev_private->vram_mtrr = -ENXIO;
 
        ret = openchrome_device_init(dev_private);
        if (ret) {
                DRM_ERROR("Failed to initialize Chrome IGP.\n");
-               goto error_free_private;
+               goto exit;
        }
 
        ret = openchrome_mm_init(dev_private);
        if (ret) {
                DRM_ERROR("Failed to initialize TTM.\n");
-               goto error_free_private;
+               goto exit;
        }
 
        chip_revision_info(dev_private);
@@ -1345,8 +1335,6 @@ error_modeset:
        openchrome_mm_fini(dev_private);
        openchrome_mmio_fini(dev_private);
        openchrome_vram_fini(dev_private);
-error_free_private:
-       kfree(dev_private);
 exit:
        DRM_DEBUG_KMS("Exiting %s.\n", __func__);
        return ret;
@@ -1354,7 +1342,8 @@ exit:
 
 void openchrome_drm_fini(struct drm_device *dev)
 {
-       struct openchrome_drm_private *dev_private = dev->dev_private;
+       struct openchrome_drm_private *dev_private =
+                                               to_openchrome_private(dev);
 
        DRM_DEBUG_KMS("Entered %s.\n", __func__);
 
@@ -1362,7 +1351,6 @@ void openchrome_drm_fini(struct drm_device *dev)
        openchrome_mm_fini(dev_private);
        openchrome_mmio_fini(dev_private);
        openchrome_vram_fini(dev_private);
-       kfree(dev_private);
 
        DRM_DEBUG_KMS("Exiting %s.\n", __func__);
 }
diff --git a/drivers/gpu/drm/openchrome/openchrome_ioctl.c 
b/drivers/gpu/drm/openchrome/openchrome_ioctl.c
index 1b8581151972..281111588db7 100644
--- a/drivers/gpu/drm/openchrome/openchrome_ioctl.c
+++ b/drivers/gpu/drm/openchrome/openchrome_ioctl.c
@@ -43,7 +43,8 @@ static int openchrome_gem_create_ioctl(struct drm_device *dev,
                                        struct drm_file *file_priv)
 {
        struct drm_openchrome_gem_create *args = data;
-       struct openchrome_drm_private *dev_private = dev->dev_private;
+       struct openchrome_drm_private *dev_private =
+                                               to_openchrome_private(dev);
        struct openchrome_bo *bo;
        uint32_t handle;
        int ret;
diff --git a/drivers/gpu/drm/openchrome/openchrome_object.c 
b/drivers/gpu/drm/openchrome/openchrome_object.c
index d8446b5633b3..ff1f7db605e8 100644
--- a/drivers/gpu/drm/openchrome/openchrome_object.c
+++ b/drivers/gpu/drm/openchrome/openchrome_object.c
@@ -173,7 +173,8 @@ int openchrome_bo_create(struct drm_device *dev,
                                bool kmap,
                                struct openchrome_bo **bo_ptr)
 {
-       struct openchrome_drm_private *dev_private = dev->dev_private;
+       struct openchrome_drm_private *dev_private =
+                                               to_openchrome_private(dev);
        struct openchrome_bo *bo;
        int ret;
 
@@ -277,7 +278,7 @@ exit:
 
 int openchrome_mm_init(struct openchrome_drm_private *dev_private)
 {
-       struct drm_device *dev = dev_private->dev;
+       struct drm_device *dev = &dev_private->dev;
        int ret;
 
        DRM_DEBUG_KMS("Entered %s.\n", __func__);
diff --git a/drivers/gpu/drm/openchrome/openchrome_pm.c 
b/drivers/gpu/drm/openchrome/openchrome_pm.c
index f0d837d7c1d1..1696be5af6a9 100644
--- a/drivers/gpu/drm/openchrome/openchrome_pm.c
+++ b/drivers/gpu/drm/openchrome/openchrome_pm.c
@@ -39,7 +39,8 @@ int openchrome_dev_pm_ops_suspend(struct device *dev)
 {
        struct pci_dev *pdev = to_pci_dev(dev);
        struct drm_device *drm_dev = pci_get_drvdata(pdev);
-       struct openchrome_drm_private *dev_private = drm_dev->dev_private;
+       struct openchrome_drm_private *dev_private =
+                                               to_openchrome_private(drm_dev);
        int ret = 0;
 
        DRM_DEBUG_KMS("Entered %s.\n", __func__);
@@ -102,7 +103,7 @@ int openchrome_dev_pm_ops_resume(struct device *dev)
        struct pci_dev *pdev = to_pci_dev(dev);
        struct drm_device *drm_dev = pci_get_drvdata(pdev);
        struct openchrome_drm_private *dev_private =
-                                               drm_dev->dev_private;
+                                               to_openchrome_private(drm_dev);
        void __iomem *regs = ioport_map(0x3c0, 100);
        u8 val;
        int ret = 0;
diff --git a/drivers/gpu/drm/openchrome/openchrome_sii164.c 
b/drivers/gpu/drm/openchrome/openchrome_sii164.c
index ec3fb06095bb..9c6b31dc1a78 100644
--- a/drivers/gpu/drm/openchrome/openchrome_sii164.c
+++ b/drivers/gpu/drm/openchrome/openchrome_sii164.c
@@ -134,8 +134,9 @@ static void openchrome_sii164_dpms(struct drm_encoder 
*encoder, int mode)
 {
        struct via_encoder *enc = container_of(encoder,
                                        struct via_encoder, base);
+       struct drm_device *dev = encoder->dev;
        struct openchrome_drm_private *dev_private =
-                                       encoder->dev->dev_private;
+                                               to_openchrome_private(dev);
        struct i2c_adapter *i2c_bus;
 
        DRM_DEBUG_KMS("Entered %s.\n", __func__);
@@ -197,8 +198,9 @@ static void openchrome_sii164_mode_set(struct drm_encoder 
*encoder,
        struct via_crtc *iga = container_of(encoder->crtc, struct via_crtc, 
base);
        struct via_encoder *enc = container_of(encoder,
                                        struct via_encoder, base);
+       struct drm_device *dev = encoder->dev;
        struct openchrome_drm_private *dev_private =
-                                       encoder->dev->dev_private;
+                                               to_openchrome_private(dev);
        struct i2c_adapter *i2c_bus;
 
        DRM_DEBUG_KMS("Entered %s.\n", __func__);
@@ -240,8 +242,9 @@ static void openchrome_sii164_prepare(struct drm_encoder 
*encoder)
 {
        struct via_encoder *enc = container_of(encoder,
                                        struct via_encoder, base);
+       struct drm_device *dev = encoder->dev;
        struct openchrome_drm_private *dev_private =
-                                       encoder->dev->dev_private;
+                                               to_openchrome_private(dev);
        struct i2c_adapter *i2c_bus;
 
        DRM_DEBUG_KMS("Entered %s.\n", __func__);
@@ -272,8 +275,9 @@ static void openchrome_sii164_commit(struct drm_encoder 
*encoder)
 {
        struct via_encoder *enc = container_of(encoder,
                                        struct via_encoder, base);
+       struct drm_device *dev = encoder->dev;
        struct openchrome_drm_private *dev_private =
-                                       encoder->dev->dev_private;
+                                               to_openchrome_private(dev);
        struct i2c_adapter *i2c_bus;
 
        DRM_DEBUG_KMS("Entered %s.\n", __func__);
@@ -305,8 +309,9 @@ static void openchrome_sii164_disable(struct drm_encoder 
*encoder)
 {
        struct via_encoder *enc = container_of(encoder,
                                        struct via_encoder, base);
+       struct drm_device *dev = encoder->dev;
        struct openchrome_drm_private *dev_private =
-                                       encoder->dev->dev_private;
+                                               to_openchrome_private(dev);
        struct i2c_adapter *i2c_bus;
 
        DRM_DEBUG_KMS("Entered %s.\n", __func__);
@@ -526,7 +531,8 @@ void openchrome_sii164_init(struct drm_device *dev)
 {
        struct via_connector *con;
        struct via_encoder *enc;
-       struct openchrome_drm_private *dev_private = dev->dev_private;
+       struct openchrome_drm_private *dev_private =
+                                               to_openchrome_private(dev);
 
        DRM_DEBUG_KMS("Entered %s.\n", __func__);
 
diff --git a/drivers/gpu/drm/openchrome/openchrome_tmds.c 
b/drivers/gpu/drm/openchrome/openchrome_tmds.c
index 9db6bf1c4923..721a9f4d03fb 100644
--- a/drivers/gpu/drm/openchrome/openchrome_tmds.c
+++ b/drivers/gpu/drm/openchrome/openchrome_tmds.c
@@ -204,8 +204,9 @@ static void via_tmds_dpms(struct drm_encoder *encoder, int 
mode)
 {
        struct via_encoder *enc = container_of(encoder,
                                        struct via_encoder, base);
+       struct drm_device *dev = encoder->dev;
        struct openchrome_drm_private *dev_private =
-                                       encoder->dev->dev_private;
+                                               to_openchrome_private(dev);
 
        DRM_DEBUG_KMS("Entered %s.\n", __func__);
 
@@ -247,8 +248,9 @@ static void via_tmds_prepare(struct drm_encoder *encoder)
 {
        struct via_encoder *enc = container_of(encoder,
                                        struct via_encoder, base);
+       struct drm_device *dev = encoder->dev;
        struct openchrome_drm_private *dev_private =
-                                       encoder->dev->dev_private;
+                                               to_openchrome_private(dev);
 
        DRM_DEBUG_KMS("Entered %s.\n", __func__);
 
@@ -262,8 +264,9 @@ static void via_tmds_commit(struct drm_encoder *encoder)
 {
        struct via_encoder *enc = container_of(encoder,
                                        struct via_encoder, base);
+       struct drm_device *dev = encoder->dev;
        struct openchrome_drm_private *dev_private =
-                                       encoder->dev->dev_private;
+                                               to_openchrome_private(dev);
 
        DRM_DEBUG_KMS("Entered %s.\n", __func__);
 
@@ -281,8 +284,9 @@ via_tmds_mode_set(struct drm_encoder *encoder,
                        struct drm_display_mode *mode,
                        struct drm_display_mode *adjusted_mode)
 {
+       struct drm_device *dev = encoder->dev;
        struct openchrome_drm_private *dev_private =
-                                       encoder->dev->dev_private;
+                                               to_openchrome_private(dev);
        struct via_crtc *iga = container_of(encoder->crtc,
                                                struct via_crtc, base);
 
@@ -299,8 +303,9 @@ static void via_tmds_disable(struct drm_encoder *encoder)
 {
        struct via_encoder *enc = container_of(encoder,
                                        struct via_encoder, base);
+       struct drm_device *dev = encoder->dev;
        struct openchrome_drm_private *dev_private =
-                                       encoder->dev->dev_private;
+                                               to_openchrome_private(dev);
 
        DRM_DEBUG_KMS("Entered %s.\n", __func__);
 
@@ -409,8 +414,9 @@ static const struct drm_connector_helper_funcs 
via_dvi_connector_helper_funcs =
  */
 void via_tmds_probe(struct drm_device *dev)
 {
-       struct openchrome_drm_private *dev_private = dev->dev_private;
        struct pci_dev *pdev = to_pci_dev(dev->dev);
+       struct openchrome_drm_private *dev_private =
+                                               to_openchrome_private(dev);
        u16 chipset = pdev->device;
        u8 sr13, sr5a;
 
@@ -489,7 +495,8 @@ void via_tmds_probe(struct drm_device *dev)
 
 void via_tmds_init(struct drm_device *dev)
 {
-       struct openchrome_drm_private *dev_private = dev->dev_private;
+       struct openchrome_drm_private *dev_private =
+                                               to_openchrome_private(dev);
        struct via_connector *con;
        struct via_encoder *enc;
 
@@ -541,9 +548,10 @@ exit:
  */
 void openchrome_ext_dvi_probe(struct drm_device *dev)
 {
-       struct openchrome_drm_private *dev_private = dev->dev_private;
-       struct i2c_adapter *i2c_bus;
        struct pci_dev *pdev = to_pci_dev(dev->dev);
+       struct openchrome_drm_private *dev_private =
+                                               to_openchrome_private(dev);
+       struct i2c_adapter *i2c_bus;
        u16 chipset = pdev->device;
        u8 sr12, sr13;
 
diff --git a/drivers/gpu/drm/openchrome/openchrome_vt1632.c 
b/drivers/gpu/drm/openchrome/openchrome_vt1632.c
index c2ace7e257dd..864dc26fae18 100644
--- a/drivers/gpu/drm/openchrome/openchrome_vt1632.c
+++ b/drivers/gpu/drm/openchrome/openchrome_vt1632.c
@@ -154,8 +154,9 @@ static void openchrome_vt1632_dpms(struct drm_encoder 
*encoder, int mode)
 {
        struct via_encoder *enc = container_of(encoder,
                                        struct via_encoder, base);
+       struct drm_device *dev = encoder->dev;
        struct openchrome_drm_private *dev_private =
-                                       encoder->dev->dev_private;
+                                               to_openchrome_private(dev);
        struct i2c_adapter *i2c_bus;
 
        DRM_DEBUG_KMS("Entered %s.\n", __func__);
@@ -217,8 +218,9 @@ static void openchrome_vt1632_mode_set(struct drm_encoder 
*encoder,
        struct via_crtc *iga = container_of(encoder->crtc, struct via_crtc, 
base);
        struct via_encoder *enc = container_of(encoder,
                                        struct via_encoder, base);
+       struct drm_device *dev = encoder->dev;
        struct openchrome_drm_private *dev_private =
-                                       encoder->dev->dev_private;
+                                               to_openchrome_private(dev);
        struct i2c_adapter *i2c_bus;
 
        DRM_DEBUG_KMS("Entered %s.\n", __func__);
@@ -260,8 +262,9 @@ static void openchrome_vt1632_prepare(struct drm_encoder 
*encoder)
 {
        struct via_encoder *enc = container_of(encoder,
                                        struct via_encoder, base);
+       struct drm_device *dev = encoder->dev;
        struct openchrome_drm_private *dev_private =
-                                       encoder->dev->dev_private;
+                                               to_openchrome_private(dev);
        struct i2c_adapter *i2c_bus;
 
        DRM_DEBUG_KMS("Entered %s.\n", __func__);
@@ -292,8 +295,9 @@ static void openchrome_vt1632_commit(struct drm_encoder 
*encoder)
 {
        struct via_encoder *enc = container_of(encoder,
                                        struct via_encoder, base);
+       struct drm_device *dev = encoder->dev;
        struct openchrome_drm_private *dev_private =
-                                       encoder->dev->dev_private;
+                                               to_openchrome_private(dev);
        struct i2c_adapter *i2c_bus;
 
        DRM_DEBUG_KMS("Entered %s.\n", __func__);
@@ -325,8 +329,9 @@ static void openchrome_vt1632_disable(struct drm_encoder 
*encoder)
 {
        struct via_encoder *enc = container_of(encoder,
                                        struct via_encoder, base);
+       struct drm_device *dev = encoder->dev;
        struct openchrome_drm_private *dev_private =
-                                       encoder->dev->dev_private;
+                                               to_openchrome_private(dev);
        struct i2c_adapter *i2c_bus;
 
        DRM_DEBUG_KMS("Entered %s.\n", __func__);
@@ -546,7 +551,8 @@ void openchrome_vt1632_init(struct drm_device *dev)
 {
        struct via_connector *con;
        struct via_encoder *enc;
-       struct openchrome_drm_private *dev_private = dev->dev_private;
+       struct openchrome_drm_private *dev_private =
+                                               to_openchrome_private(dev);
 
        DRM_DEBUG_KMS("Entered %s.\n", __func__);
 
commit 17cd48c21e1085f2542ee701d66025b812f50592
Author: Kevin Brace <kevinbr...@gmx.com>
Date:   Fri May 20 11:56:39 2022 -0500

    drm/openchrome: Check for error after calling openchrome_drm_init()
    
    Signed-off-by: Kevin Brace <kevinbr...@gmx.com>

diff --git a/drivers/gpu/drm/openchrome/openchrome_drv.c 
b/drivers/gpu/drm/openchrome/openchrome_drv.c
index d5c131bb05c8..d64ff06d5829 100644
--- a/drivers/gpu/drm/openchrome/openchrome_drv.c
+++ b/drivers/gpu/drm/openchrome/openchrome_drv.c
@@ -223,6 +223,9 @@ static int openchrome_pci_probe(struct pci_dev *pdev,
        pci_set_drvdata(pdev, dev);
 
        ret = openchrome_drm_init(dev);
+       if (ret) {
+               goto err_drm_dev_put;
+       }
 
        ret = drm_dev_register(dev, ent->driver_data);
        if (ret) {
commit da7bdcf4829a78bf837b19103f9d947328286d2b
Author: Kevin Brace <kevinbr...@gmx.com>
Date:   Fri May 20 11:56:38 2022 -0500

    drm/openchrome: Convert logged hardcoded function names to programmable ones
    
    Signed-off-by: Kevin Brace <kevinbr...@gmx.com>

diff --git a/drivers/gpu/drm/openchrome/openchrome_analog.c 
b/drivers/gpu/drm/openchrome/openchrome_analog.c
index e00d2119eb04..83438c38d5a4 100644
--- a/drivers/gpu/drm/openchrome/openchrome_analog.c
+++ b/drivers/gpu/drm/openchrome/openchrome_analog.c
@@ -39,13 +39,14 @@
 static void via_analog_power(struct openchrome_drm_private *dev_private,
                                bool outputState)
 {
-       DRM_DEBUG_KMS("Entered via_analog_power.\n");
+       DRM_DEBUG_KMS("Entered %s.\n", __func__);
+
 
        via_analog_set_power(VGABASE, outputState);
        DRM_INFO("Analog (VGA) Power: %s\n",
                        outputState ? "On" : "Off");
 
-       DRM_DEBUG_KMS("Exiting via_analog_power.\n");
+       DRM_DEBUG_KMS("Exiting %s.\n", __func__);
 }
 
 /*
@@ -57,7 +58,7 @@ static void via_analog_sync_polarity(
 {
        u8 syncPolarity = 0x00;
 
-       DRM_DEBUG_KMS("Entered via_analog_sync_polarity.\n");
+       DRM_DEBUG_KMS("Entered %s.\n", __func__);
 
        if (flags & DRM_MODE_FLAG_NHSYNC) {
                syncPolarity |= BIT(0);
@@ -73,7 +74,7 @@ static void via_analog_sync_polarity(
        DRM_INFO("Analog (VGA) Vertical Sync Polarity: %s\n",
                (syncPolarity & BIT(1)) ? "-" : "+");
 
-       DRM_DEBUG_KMS("Exiting via_analog_sync_polarity.\n");
+       DRM_DEBUG_KMS("Exiting %s.\n", __func__);
 }
 
 /*
@@ -85,13 +86,13 @@ static void via_analog_display_source(
 {
        u8 displaySource = index;
 
-       DRM_DEBUG_KMS("Entered via_analog_display_source.\n");
+       DRM_DEBUG_KMS("Entered %s.\n", __func__);
 
        via_analog_set_display_source(VGABASE, displaySource & 0x01);
        DRM_INFO("Analog (VGA) Display Source: IGA%d\n",
                        (displaySource & 0x01) + 1);
 
-       DRM_DEBUG_KMS("Exiting via_analog_display_source.\n");
+       DRM_DEBUG_KMS("Exiting %s.\n", __func__);
 }
 
 /*
@@ -110,7 +111,7 @@ via_analog_dpms(struct drm_encoder *encoder, int mode)
        struct openchrome_drm_private *dev_private =
                                        encoder->dev->dev_private;
 
-       DRM_DEBUG_KMS("Entered via_analog_dpms.\n");
+       DRM_DEBUG_KMS("Entered %s.\n", __func__);
 
        switch (mode) {
        case DRM_MODE_DPMS_ON:
@@ -134,7 +135,7 @@ via_analog_dpms(struct drm_encoder *encoder, int mode)
                break;
        }
 
-       DRM_DEBUG_KMS("Exiting via_analog_dpms.\n");
+       DRM_DEBUG_KMS("Exiting %s.\n", __func__);
 }
 
 /* Pass our mode to the connectors and the CRTC to give them a chance to
@@ -162,12 +163,12 @@ via_analog_mode_set(struct drm_encoder *encoder,
                                        encoder->dev->dev_private;
        struct via_crtc *iga = container_of(encoder->crtc, struct via_crtc, 
base);
 
-       DRM_DEBUG_KMS("Entered via_analog_mode_set.\n");
+       DRM_DEBUG_KMS("Entered %s.\n", __func__);
 
        via_analog_sync_polarity(dev_private, adjusted_mode->flags);
        via_analog_display_source(dev_private, iga->index);
 
-       DRM_DEBUG_KMS("Exiting via_analog_mode_set.\n");
+       DRM_DEBUG_KMS("Exiting %s.\n", __func__);
 }
 
 static void
@@ -176,14 +177,14 @@ via_analog_prepare(struct drm_encoder *encoder)
        struct openchrome_drm_private *dev_private =
                                        encoder->dev->dev_private;
 
-       DRM_DEBUG_KMS("Entered via_analog_prepare.\n");
+       DRM_DEBUG_KMS("Entered %s.\n", __func__);
 
        if (encoder->crtc) {
                via_analog_set_dpms_control(VGABASE, VIA_ANALOG_DPMS_OFF);
                via_analog_power(dev_private, false);
        }
 
-       DRM_DEBUG_KMS("Exiting via_analog_prepare.\n");
+       DRM_DEBUG_KMS("Exiting %s.\n", __func__);
 }
 
 static void
@@ -192,14 +193,14 @@ via_analog_commit(struct drm_encoder *encoder)
        struct openchrome_drm_private *dev_private =
                                        encoder->dev->dev_private;
 
-       DRM_DEBUG_KMS("Entered via_analog_commit.\n");
+       DRM_DEBUG_KMS("Entered %s.\n", __func__);
 
        if (encoder->crtc) {
                via_analog_set_dpms_control(VGABASE, VIA_ANALOG_DPMS_ON);
                via_analog_power(dev_private, true);
        }
 
-       DRM_DEBUG_KMS("Exiting via_analog_commit.\n");
+       DRM_DEBUG_KMS("Exiting %s.\n", __func__);
 }
 
 static void
@@ -208,12 +209,12 @@ via_analog_disable(struct drm_encoder *encoder)
        struct openchrome_drm_private *dev_private =
                                        encoder->dev->dev_private;
 
-       DRM_DEBUG_KMS("Entered via_analog_disable.\n");
+       DRM_DEBUG_KMS("Entered %s.\n", __func__);
 
        via_analog_set_dpms_control(VGABASE, VIA_ANALOG_DPMS_OFF);
        via_analog_power(dev_private, false);
 
-       DRM_DEBUG_KMS("Exiting via_analog_disable.\n");
+       DRM_DEBUG_KMS("Exiting %s.\n", __func__);
 }
 
 static const struct drm_encoder_helper_funcs via_dac_enc_helper_funcs = {
diff --git a/drivers/gpu/drm/openchrome/openchrome_fp.c 
b/drivers/gpu/drm/openchrome/openchrome_fp.c
index d5706fb52448..793bb76933a6 100644
--- a/drivers/gpu/drm/openchrome/openchrome_fp.c
+++ b/drivers/gpu/drm/openchrome/openchrome_fp.c
@@ -140,7 +140,7 @@ static void via_fp_castle_rock_soft_power_seq(
                        struct openchrome_drm_private *dev_private,
                        bool power_state)
 {
-       DRM_DEBUG_KMS("Entered via_fp_castle_rock_soft_power_seq.\n");
+       DRM_DEBUG_KMS("Entered %s.\n", __func__);
 
        if (power_state) {
                /* Wait for 25 ms. */
@@ -186,14 +186,14 @@ static void via_fp_castle_rock_soft_power_seq(
                via_fp_set_primary_soft_vdd(VGABASE, false);
        }
 
-       DRM_DEBUG_KMS("Exiting via_fp_castle_rock_soft_power_seq.\n");
+       DRM_DEBUG_KMS("Exiting %s.\n", __func__);
 }
 
 static void via_fp_primary_soft_power_seq(
                        struct openchrome_drm_private *dev_private,
                        bool power_state)
 {
-       DRM_DEBUG_KMS("Entered via_fp_primary_soft_power_seq.\n");
+       DRM_DEBUG_KMS("Entered %s.\n", __func__);
 
        /* Turn off FP hardware power sequence. */
        via_fp_set_primary_hard_power(VGABASE, false);
@@ -254,14 +254,14 @@ static void via_fp_primary_soft_power_seq(
                via_fp_set_primary_direct_display_period(VGABASE, false);
        }
 
-       DRM_DEBUG_KMS("Exiting via_fp_primary_soft_power_seq.\n");
+       DRM_DEBUG_KMS("Exiting %s.\n", __func__);
 }
 
 static void via_fp_secondary_soft_power_seq(
                        struct openchrome_drm_private *dev_private,
                        bool power_state)
 {
-       DRM_DEBUG_KMS("Entered via_fp_secondary_soft_power_seq.\n");
+       DRM_DEBUG_KMS("Entered %s.\n", __func__);
 
        /* Turn off FP hardware power sequence. */
        via_fp_set_secondary_hard_power(VGABASE, false);
@@ -322,14 +322,14 @@ static void via_fp_secondary_soft_power_seq(
                via_fp_set_secondary_direct_display_period(VGABASE, false);
        }
 
-       DRM_DEBUG_KMS("Exiting via_fp_secondary_soft_power_seq.\n");
+       DRM_DEBUG_KMS("Exiting %s.\n", __func__);
 }
 
 static void via_fp_primary_hard_power_seq(
                        struct openchrome_drm_private *dev_private,
                        bool power_state)
 {
-       DRM_DEBUG_KMS("Entered via_fp_primary_hard_power_seq.\n");
+       DRM_DEBUG_KMS("Entered %s.\n", __func__);
 
        /* Use hardware FP power sequence control. */
        via_fp_set_primary_power_seq_type(VGABASE, true);
@@ -354,7 +354,7 @@ static void via_fp_primary_hard_power_seq(
                via_fp_set_primary_direct_display_period(VGABASE, false);
        }
 
-       DRM_DEBUG_KMS("Exiting via_fp_primary_hard_power_seq.\n");
+       DRM_DEBUG_KMS("Exiting %s.\n", __func__);
 }
 
 static void via_fp_power(
@@ -362,7 +362,7 @@ static void via_fp_power(
                        unsigned short device,
                        u32 di_port, bool power_state)
 {
-       DRM_DEBUG_KMS("Entered via_fp_power.\n");
+       DRM_DEBUG_KMS("Entered %s.\n", __func__);
 
        switch (device) {
        case PCI_DEVICE_ID_VIA_CLE266:
@@ -406,7 +406,7 @@ static void via_fp_power(
                break;
        }
 
-       DRM_DEBUG_KMS("Exiting via_fp_power.\n");
+       DRM_DEBUG_KMS("Exiting %s.\n", __func__);
 }
 
 /*
@@ -544,7 +544,7 @@ static void via_fp_display_source(
 {
        u8 display_source = index & 0x01;
 
-       DRM_DEBUG_KMS("Entered via_fp_display_source.\n");
+       DRM_DEBUG_KMS("Entered %s.\n", __func__);
 
        switch(di_port) {
        case VIA_DI_PORT_DVP0:
@@ -584,7 +584,7 @@ static void via_fp_display_source(
        DRM_DEBUG_KMS("FP Display Source: IGA%d\n",
                        display_source + 1);
 
-       DRM_DEBUG_KMS("Exiting via_fp_display_source.\n");
+       DRM_DEBUG_KMS("Exiting %s.\n", __func__);
 }
 
 static void via_fp_dpms(struct drm_encoder *encoder, int mode)
diff --git a/drivers/gpu/drm/openchrome/openchrome_tmds.c 
b/drivers/gpu/drm/openchrome/openchrome_tmds.c
index 8253bc0e4b72..9db6bf1c4923 100644
--- a/drivers/gpu/drm/openchrome/openchrome_tmds.c
+++ b/drivers/gpu/drm/openchrome/openchrome_tmds.c
@@ -156,7 +156,7 @@ static void via_tmds_sync_polarity(
 {
        u8 syncPolarity = 0x00;
 
-       DRM_DEBUG_KMS("Entered via_tmds_sync_polarity.\n");
+       DRM_DEBUG_KMS("Entered %s.\n", __func__);
 
        if (flags & DRM_MODE_FLAG_NHSYNC) {
                syncPolarity |= BIT(0);
@@ -172,7 +172,7 @@ static void via_tmds_sync_polarity(
        DRM_INFO("TMDS (DVI) Vertical Sync Polarity: %s\n",
                (syncPolarity & BIT(1)) ? "-" : "+");
 
-       DRM_DEBUG_KMS("Exiting via_tmds_sync_polarity.\n");
+       DRM_DEBUG_KMS("Exiting %s.\n", __func__);
 }
 
 /*
@@ -184,13 +184,13 @@ static void via_tmds_display_source(
 {
        u8 displaySource = index;
 
-       DRM_DEBUG_KMS("Entered via_tmds_display_source.\n");
+       DRM_DEBUG_KMS("Entered %s.\n", __func__);
 
        via_tmds_set_display_source(VGABASE, displaySource & 0x01);
        DRM_INFO("TMDS (DVI) Display Source: IGA%d\n",
                        (displaySource & 0x01) + 1);
 
-       DRM_DEBUG_KMS("Exiting via_tmds_display_source.\n");
+       DRM_DEBUG_KMS("Exiting %s.\n", __func__);
 }
 
 /*
commit 13fd23facd11c34fa4f32bf6f684d50c7e80a346
Author: Kevin Brace <kevinbr...@gmx.com>
Date:   Fri May 20 11:56:36 2022 -0500

    drm/openchrome: Correct an erroneous exit message
    
    Signed-off-by: Kevin Brace <kevinbr...@gmx.com>

diff --git a/drivers/gpu/drm/openchrome/openchrome_fp.c 
b/drivers/gpu/drm/openchrome/openchrome_fp.c
index b05004ec60c7..d5706fb52448 100644
--- a/drivers/gpu/drm/openchrome/openchrome_fp.c
+++ b/drivers/gpu/drm/openchrome/openchrome_fp.c
@@ -354,7 +354,7 @@ static void via_fp_primary_hard_power_seq(
                via_fp_set_primary_direct_display_period(VGABASE, false);
        }
 
-       DRM_DEBUG_KMS("Entered via_fp_primary_hard_power_seq.\n");
+       DRM_DEBUG_KMS("Exiting via_fp_primary_hard_power_seq.\n");
 }
 
 static void via_fp_power(

Reply via email to