Lines Matching refs:crypto_info

98 static int rk_crypto_register(struct rk_crypto_info *crypto_info)  in rk_crypto_register()  argument
104 rk_cipher_algs[i]->dev = crypto_info; in rk_crypto_register()
140 struct rk_crypto_info *crypto_info = data; in rk_crypto_action() local
142 reset_control_assert(crypto_info->rst); in rk_crypto_action()
154 struct rk_crypto_info *crypto_info; in rk_crypto_probe() local
157 crypto_info = devm_kzalloc(&pdev->dev, in rk_crypto_probe()
158 sizeof(*crypto_info), GFP_KERNEL); in rk_crypto_probe()
159 if (!crypto_info) { in rk_crypto_probe()
164 crypto_info->rst = devm_reset_control_get(dev, "crypto-rst"); in rk_crypto_probe()
165 if (IS_ERR(crypto_info->rst)) { in rk_crypto_probe()
166 err = PTR_ERR(crypto_info->rst); in rk_crypto_probe()
170 reset_control_assert(crypto_info->rst); in rk_crypto_probe()
172 reset_control_deassert(crypto_info->rst); in rk_crypto_probe()
174 err = devm_add_action_or_reset(dev, rk_crypto_action, crypto_info); in rk_crypto_probe()
178 crypto_info->reg = devm_platform_ioremap_resource(pdev, 0); in rk_crypto_probe()
179 if (IS_ERR(crypto_info->reg)) { in rk_crypto_probe()
180 err = PTR_ERR(crypto_info->reg); in rk_crypto_probe()
184 crypto_info->aclk = devm_clk_get(&pdev->dev, "aclk"); in rk_crypto_probe()
185 if (IS_ERR(crypto_info->aclk)) { in rk_crypto_probe()
186 err = PTR_ERR(crypto_info->aclk); in rk_crypto_probe()
190 crypto_info->hclk = devm_clk_get(&pdev->dev, "hclk"); in rk_crypto_probe()
191 if (IS_ERR(crypto_info->hclk)) { in rk_crypto_probe()
192 err = PTR_ERR(crypto_info->hclk); in rk_crypto_probe()
196 crypto_info->sclk = devm_clk_get(&pdev->dev, "sclk"); in rk_crypto_probe()
197 if (IS_ERR(crypto_info->sclk)) { in rk_crypto_probe()
198 err = PTR_ERR(crypto_info->sclk); in rk_crypto_probe()
202 crypto_info->dmaclk = devm_clk_get(&pdev->dev, "apb_pclk"); in rk_crypto_probe()
203 if (IS_ERR(crypto_info->dmaclk)) { in rk_crypto_probe()
204 err = PTR_ERR(crypto_info->dmaclk); in rk_crypto_probe()
208 crypto_info->irq = platform_get_irq(pdev, 0); in rk_crypto_probe()
209 if (crypto_info->irq < 0) { in rk_crypto_probe()
210 dev_warn(crypto_info->dev, in rk_crypto_probe()
212 err = crypto_info->irq; in rk_crypto_probe()
216 err = devm_request_irq(&pdev->dev, crypto_info->irq, in rk_crypto_probe()
221 dev_err(crypto_info->dev, "irq request failed.\n"); in rk_crypto_probe()
225 crypto_info->dev = &pdev->dev; in rk_crypto_probe()
226 platform_set_drvdata(pdev, crypto_info); in rk_crypto_probe()
228 crypto_info->engine = crypto_engine_alloc_init(&pdev->dev, true); in rk_crypto_probe()
229 crypto_engine_start(crypto_info->engine); in rk_crypto_probe()
230 init_completion(&crypto_info->complete); in rk_crypto_probe()
232 rk_crypto_enable_clk(crypto_info); in rk_crypto_probe()
234 err = rk_crypto_register(crypto_info); in rk_crypto_probe()
244 crypto_engine_exit(crypto_info->engine); in rk_crypto_probe()