def get_max_instances_of_usb_controller_type(self, chipset, type_p):
        """Returns the maximum number of USB controller instances which
        can be configured for each VM. This corresponds to the number of
        USB controllers one can have. Value may depend on chipset type
        used.

        in chipset of type :class:`ChipsetType`
            The chipset type to get the value for.

        in type_p of type :class:`USBControllerType`
            The USB controller type to get the value for.

        return max_instances of type int
            The maximum number of instances for the given USB controller type.

        """
        if not isinstance(chipset, ChipsetType):
            raise TypeError("chipset can only be an instance of type ChipsetType")
        if not isinstance(type_p, USBControllerType):
            raise TypeError("type_p can only be an instance of type USBControllerType")
        max_instances = self._call("getMaxInstancesOfUSBControllerType",
                     in_p=[chipset, type_p])
        return max_instances
Returns the maximum number of USB controller instances which
        can be configured for each VM. This corresponds to the number of
        USB controllers one can have. Value may depend on chipset type
        used.

        in chipset of type :class:`ChipsetType`
            The chipset type to get the value for.

        in type_p of type :class:`USBControllerType`
            The USB controller type to get the value for.

        return max_instances of type int
            The maximum number of instances for the given USB controller type.