struct resource *res; int ret;
# Run a cryptographic hash benchmark ./testbd_tool --crypto --algo sha256 --src 0x82000000 --len 4194304
/* 3. Initialize hardware */ sec_testbd_reset(testbd); sec_testbd_configure(testbd, DEFAULT_MODE);
/* 1. Acquire memory region */ res = platform_get_resource(pdev, IORESOURCE_MEM, 0); testbd->base = devm_ioremap_resource(&pdev->dev, res); if (IS_ERR(testbd->base)) return PTR_ERR(testbd->base);
/* 4. Register char device */ ret = alloc_chrdev_region(&dev_num, 0, 1, "sec_testbd"); if (ret) return ret; cdev_init(&testbd->cdev, &sec_testbd_fops); testbd->cdev.owner = THIS_MODULE; ret = cdev_add(&testbd->cdev, dev_num, 1); if (ret) goto err_unregister;
INFO: Credit card number generated are valid but DOES NOT WORK like an actual credit card. They do not have any actual REAL VALUE. They are for data testing and verification purposes only.