For MG-SDL2, you don't do anything. It's all automated. Treat the GamePad exactly as you would on Windows/360, and we handle the rest (either in SDL_GameController or via the MonoGameJoystick.cfg file, which users can edit themselves).
If you want to use SDL2# itself, the SDL2 API reference is probably an okay start:
http://wiki.libsdl.org/moin.fcg/CategoryJoystick
http://wiki.libsdl.org/moin.fcg/CategoryGameController
If you want a quick crash course in how this works, the GamePad in MG-SDL2 is a decent reference as well (mind the awful tabbing, MonoDevelop is silly):
https://github.com/flibitijibibo/MonoGa ... GamePad.cs