Switches in RapidIO subsystem are presented the same way as endpoints - byusing rio_dev structure plus an additional switch-specific extension allocatedseparately. This separation between two objects describing a RIO switch devicealso is reflected in the way how RIO address is stored for endpoints andswitches. Proposed patches are attempt to address issues brought by differencesin endpoint and switch handling in RapidIO subsystem.

1. Using one storage location common for switches and endpoints eliminatesunnecessary device type checks during maintenance access operations.While destination IDs and hop counts have different meaning for endpoints andswitches, this does not prevent us from storing them in the primary RIO devicestructure (rio_dev) for both types.The logic that assigns destination IDs to RIO devices stays unchanged - asbefore, switches use an associated destination ID because they do not havetheir own physical ID. The hop_count is set to 0xff for endpoints and to theactual value for switches.