This won't work if you use `--region` with a non-Rackspace / Swift provider, so I would do something like this:

```python
PROVIDER_TO_REGION_KWARG_MAP = {
    'CLOUDFILES_US': 'ex_force_service_region',
    'CLOUDFILES_UK': 'ex_force_service_region'
}

args = (self._username, self._api_key)
kwargs = {}

provider_region_kwarg = PROVIDER_TO_REGION_KWARG_MAP.get(self._provider_name, None)
if self._region and region_kwarg:
    kwargs[provider_region_kwarg] = self._region

driver = self._provider_cls(*args, **kwargs)
```

Currently we only pass `provider_cls` to the constructor which means you will need to modify the code to also pass `provider_name` to it if you decide to go with this approach.