@@ -1023,10 +1023,10 @@ static const char *const output_names[] = {
"DSI",
};
-static void
+static xf86OutputPtr
drmmode_output_init(ScrnInfoPtr pScrn, drmmode_ptr drmmode, int num)
{
- xf86OutputPtr output;
+ xf86OutputPtr output = NULL;
drmModeConnectorPtr koutput;
drmModeEncoderPtr *kencoders = NULL;
drmmode_output_private_ptr drmmode_output;
@@ -1037,7 +1037,7 @@ drmmode_output_init(ScrnInfoPtr pScrn, drmmode_ptr drmmode, int num)
koutput =
drmModeGetConnector(drmmode->fd, drmmode->mode_res->connectors[num]);
if (!koutput)
- return;
+ return NULL;
kencoders = calloc(sizeof(drmModeEncoderPtr), koutput->count_encoders);
if (!kencoders) {
@@ -1104,7 +1104,7 @@ drmmode_output_init(ScrnInfoPtr pScrn, drmmode_ptr drmmode, int num)
}
}
- return;
+ return output;
out_free_encoders:
if (kencoders) {
for (i = 0; i < koutput->count_encoders; i++)
@@ -1113,6 +1113,7 @@ drmmode_output_init(ScrnInfoPtr pScrn, drmmode_ptr drmmode, int num)
}
drmModeFreeConnector(koutput);
+ return NULL;
}
static uint32_t