On Wednesday 09 May 2012, Linus Walleij wrote:
> On Wed, May 9, 2012 at 2:17 PM, Arnd Bergmann <a...@arndb.de> wrote:
> > How about using distinct identification strings for each version of the
> > crypto hardware? The driver should really only care about what kind
> > of device it is talking to, not which SoC it is built into.
> 
> Do you mean like this (from a recent pinctrl driver):
> 
> static int __devinit nmk_pinctrl_probe(struct platform_device *pdev)
> {
>         const struct platform_device_id *platid = 
> platform_get_device_id(pdev);
>         ....
>        (Here we use that ID to control runtime codepath)
> }
> 
> static const struct platform_device_id nmk_pinctrl_id[] = {
>         { "pinctrl-stn8815", PINCTRL_NMK_STN8815 },
>         { "pinctrl-db8500", PINCTRL_NMK_DB8500 },
> };
> 
> static struct platform_driver nmk_pinctrl_driver = {
>         .driver = {
>                 .owner = THIS_MODULE,
>                 .name = "pinctrl-nomadik",
>         },
>         .probe = nmk_pinctrl_probe,
>         .id_table = nmk_pinctrl_id,
> };
> 
> Here one version of ASIC registers the "pinctrl-db8500" device.
> And so on.
> 
> So instead of registering "cryp1" and "hash1", register
> "db8500-cryp-v1", "db8500-cryp-v2" etc for the versions,
> then use the ID to control code path.
> 
> Is that what you were thinking of?

Yes, exactly.

        Arnd
--
To unsubscribe from this list: send the line "unsubscribe linux-crypto" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to