On Fri, Mar 27, 2015 at 6:49 PM, Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> wrote: > On Fri, Mar 27, 2015 at 06:31:26PM +0100, Yun Wang wrote: > >> Maybe we can temporarily reserve the old logical, and gradually solve >> these problems? > > It is best to make behavioral changes in small patches, yes. > > I think it is best to address these sorts of problems before trying to > tackle the driver interface side - that will avoid complexity. > > ie how does a driver set has_ipoib? It isn't even a sensible question > when it is a per port capability. I used to imaging it would like: init_device_mgmt_attributs(device) { for_each_port(device) if (port support XX) { port.mgmt_attribute |= CAP_XX if !(device.mgmt_attribute & HAS_XX) device.mgmt_attribute |= HAS_XX } } That is incase if a device got one port have some capability, the device have it too, so has_XX() will check on device level that if it has any port support XX, and cap_XX() to check on port level. But if has_XX() is only for optimizing the init/exit path, then it doesn't make sense to me any more... Regards, Michael Wang > > Jason -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html