Skip to content

Commit 4cd179a

Browse files
drm/ssd130x: Inline the ssd130x_buf_{alloc, free}() function helpers
There is only a single caller for both helper functions and these don't do much other than allocate and free two buffers, so let's just inline them. Suggested-by: Geert Uytterhoeven <[email protected]> Signed-off-by: Javier Martinez Canillas <[email protected]> Reviewed-by: Geert Uytterhoeven <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
1 parent 9af8cd1 commit 4cd179a

File tree

1 file changed

+20
-35
lines changed

1 file changed

+20
-35
lines changed

drivers/gpu/drm/solomon/ssd130x.c

Lines changed: 20 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -146,38 +146,6 @@ static inline struct ssd130x_device *drm_to_ssd130x(struct drm_device *drm)
146146
return container_of(drm, struct ssd130x_device, drm);
147147
}
148148

149-
static int ssd130x_buf_alloc(struct ssd130x_device *ssd130x)
150-
{
151-
unsigned int page_height = ssd130x->device_info->page_height;
152-
unsigned int pages = DIV_ROUND_UP(ssd130x->height, page_height);
153-
const struct drm_format_info *fi;
154-
unsigned int pitch;
155-
156-
fi = drm_format_info(DRM_FORMAT_R1);
157-
if (!fi)
158-
return -EINVAL;
159-
160-
pitch = drm_format_info_min_pitch(fi, 0, ssd130x->width);
161-
162-
ssd130x->buffer = kcalloc(pitch, ssd130x->height, GFP_KERNEL);
163-
if (!ssd130x->buffer)
164-
return -ENOMEM;
165-
166-
ssd130x->data_array = kcalloc(ssd130x->width, pages, GFP_KERNEL);
167-
if (!ssd130x->data_array) {
168-
kfree(ssd130x->buffer);
169-
return -ENOMEM;
170-
}
171-
172-
return 0;
173-
}
174-
175-
static void ssd130x_buf_free(struct ssd130x_device *ssd130x)
176-
{
177-
kfree(ssd130x->data_array);
178-
kfree(ssd130x->buffer);
179-
}
180-
181149
/*
182150
* Helper to write data (SSD130X_DATA) to the device.
183151
*/
@@ -709,6 +677,10 @@ static void ssd130x_encoder_helper_atomic_enable(struct drm_encoder *encoder,
709677
{
710678
struct drm_device *drm = encoder->dev;
711679
struct ssd130x_device *ssd130x = drm_to_ssd130x(drm);
680+
unsigned int page_height = ssd130x->device_info->page_height;
681+
unsigned int pages = DIV_ROUND_UP(ssd130x->height, page_height);
682+
const struct drm_format_info *fi;
683+
unsigned int pitch;
712684
int ret;
713685

714686
ret = ssd130x_power_on(ssd130x);
@@ -719,9 +691,21 @@ static void ssd130x_encoder_helper_atomic_enable(struct drm_encoder *encoder,
719691
if (ret)
720692
goto power_off;
721693

722-
ret = ssd130x_buf_alloc(ssd130x);
723-
if (ret)
694+
fi = drm_format_info(DRM_FORMAT_R1);
695+
if (!fi)
696+
goto power_off;
697+
698+
pitch = drm_format_info_min_pitch(fi, 0, ssd130x->width);
699+
700+
ssd130x->buffer = kcalloc(pitch, ssd130x->height, GFP_KERNEL);
701+
if (!ssd130x->buffer)
702+
goto power_off;
703+
704+
ssd130x->data_array = kcalloc(ssd130x->width, pages, GFP_KERNEL);
705+
if (!ssd130x->data_array) {
706+
kfree(ssd130x->buffer);
724707
goto power_off;
708+
}
725709

726710
ssd130x_write_cmd(ssd130x, 1, SSD130X_DISPLAY_ON);
727711

@@ -744,7 +728,8 @@ static void ssd130x_encoder_helper_atomic_disable(struct drm_encoder *encoder,
744728

745729
ssd130x_write_cmd(ssd130x, 1, SSD130X_DISPLAY_OFF);
746730

747-
ssd130x_buf_free(ssd130x);
731+
kfree(ssd130x->data_array);
732+
kfree(ssd130x->buffer);
748733

749734
ssd130x_power_off(ssd130x);
750735
}

0 commit comments

Comments
 (0)