The probe() method receives as argument a structure describing the device, usually specialized by the bus infrastructure (pci_dev, usb_interface, etc.)
This function is responsible for
Initializing the device, mapping I/O memory, registering the interrupt handlers. The bus infrastructure provides methods to get the addresses, interrupts numbers and other device-specific information.
Registering the device to the proper kernel framework, for example the network infrastructure.