I think this echoes my concern about the implicit order of operation. It
seems too easy to get this wrong. If you don't want to add an additional
interface for setting the ddc field, why not add a dedicated initializer
function that sets the ddc field? Something like this.
int drm_connector_init_with_ddc(connector, funcs, ..., ddc)
ret = drm_connector_init(connector, funcs, ...);
connector->ddc = ddc;
/* set up sysfs */