On 8/6/2014 11:24 PM, Thierry Reding wrote: > On Wed, Aug 06, 2014 at 04:28:45PM -0700, Olav Haugan wrote: >> On 8/6/2014 1:17 PM, Joerg Roedel wrote: >>> On Wed, Aug 06, 2014 at 10:08:55AM -0700, Olav Haugan wrote: >>>> so you are suggesting that I check in "bus_set_iommu()" whether the >>>> driver has set the map_sg/unmap_sg function pointers or not and if not >>>> set it to the default? Is bus_set_iommu() the only way drivers can set >>>> up the callbacks? >>> >>> This doesn't work as the iommu_ops are now const. You have to either >>> update the iommu drivers individually to point to the default function, >>> or you do the check in the API function itself and fall back to the >>> default it no call-back is provided. >>> >> >> Ok, then I think it is better to just leave the fallback where it is now >> in the function itself. > > What Konrad was suggesting is what I also proposed. The idea is to > implement a fallback as standalone function, then make all drivers use > that by default in the struct iommu_ops that they register. When drivers > implement an optimized version they can simply replace the fallback > implementation with their own. > Ok, I can do that. I misunderstood the point of the fallback. I thought the point of the fallback was to catch drivers that forget/neglect to implement this callback. If that is not a concern I will update my patch to create a separate function that I will point all existing drivers to. Thanks, Olav -- The Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation -- To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html