diff --git a/input/drivers_joypad/psp_joypad.c b/input/drivers_joypad/psp_joypad.c index 9bd847f0d5..a16689ba5f 100644 --- a/input/drivers_joypad/psp_joypad.c +++ b/input/drivers_joypad/psp_joypad.c @@ -24,25 +24,25 @@ static const char *psp_joypad_name(unsigned pad) return "PSP Controller"; } +static void psp_joypad_autodetect_add(unsigned autoconf_pad) +{ + settings_t *settings = config_get_ptr(); + autoconfig_params_t params = {{0}}; + + strlcpy(settings->input.device_names[autoconf_pad], + psp_joypad_name(autoconf_pad), + sizeof(settings->input.device_names[autoconf_pad])); + + /* TODO - implement VID/PID? */ + params.idx = autoconf_pad; + strlcpy(params.name, psp_joypad_name(autoconf_pad), sizeof(params.name)); + strlcpy(params.driver, psp_joypad.ident, sizeof(params.driver)); + input_config_autoconfigure_joypad(¶ms); +} + static bool psp_joypad_init(void) { - unsigned autoconf_pad; - settings_t *settings = config_get_ptr(); - - for (autoconf_pad = 0; autoconf_pad < MAX_PADS; autoconf_pad++) - { - autoconfig_params_t params = {{0}}; - - strlcpy(settings->input.device_names[autoconf_pad], - psp_joypad_name(autoconf_pad), - sizeof(settings->input.device_names[autoconf_pad])); - - /* TODO - implement VID/PID? */ - params.idx = autoconf_pad; - strlcpy(params.name, psp_joypad_name(autoconf_pad), sizeof(params.name)); - strlcpy(params.driver, psp_joypad.ident, sizeof(params.driver)); - input_config_autoconfigure_joypad(¶ms); - } + psp_joypad_autodetect_add(0); return true; }