| .. | .. |
|---|
| 1 | +// SPDX-License-Identifier: GPL-2.0-only |
|---|
| 1 | 2 | /*x |
|---|
| 2 | 3 | * Copyright (c) 2015, The Linux Foundation. All rights reserved. |
|---|
| 3 | | - * |
|---|
| 4 | | - * This software is licensed under the terms of the GNU General Public |
|---|
| 5 | | - * License version 2, as published by the Free Software Foundation, and |
|---|
| 6 | | - * may be copied, distributed, and modified under those terms. |
|---|
| 7 | | - * |
|---|
| 8 | | - * This program is distributed in the hope that it will be useful, |
|---|
| 9 | | - * but WITHOUT ANY WARRANTY; without even the implied warranty of |
|---|
| 10 | | - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|---|
| 11 | | - * GNU General Public License for more details. |
|---|
| 12 | 4 | */ |
|---|
| 13 | 5 | |
|---|
| 14 | 6 | #include <linux/kernel.h> |
|---|
| .. | .. |
|---|
| 3072 | 3064 | .name = "gpu_gx", |
|---|
| 3073 | 3065 | }, |
|---|
| 3074 | 3066 | .pwrsts = PWRSTS_OFF_ON, |
|---|
| 3067 | + .parent = &gpu_gdsc.pd, |
|---|
| 3075 | 3068 | .flags = CLAMP_IO, |
|---|
| 3069 | + .supply = "vdd-gfx", |
|---|
| 3076 | 3070 | }; |
|---|
| 3077 | 3071 | |
|---|
| 3078 | 3072 | static struct clk_regmap *mmcc_msm8996_clocks[] = { |
|---|
| .. | .. |
|---|
| 3347 | 3341 | .num_resets = ARRAY_SIZE(mmcc_msm8996_resets), |
|---|
| 3348 | 3342 | .gdscs = mmcc_msm8996_gdscs, |
|---|
| 3349 | 3343 | .num_gdscs = ARRAY_SIZE(mmcc_msm8996_gdscs), |
|---|
| 3344 | + .clk_hws = mmcc_msm8996_hws, |
|---|
| 3345 | + .num_clk_hws = ARRAY_SIZE(mmcc_msm8996_hws), |
|---|
| 3350 | 3346 | }; |
|---|
| 3351 | 3347 | |
|---|
| 3352 | 3348 | static const struct of_device_id mmcc_msm8996_match_table[] = { |
|---|
| .. | .. |
|---|
| 3357 | 3353 | |
|---|
| 3358 | 3354 | static int mmcc_msm8996_probe(struct platform_device *pdev) |
|---|
| 3359 | 3355 | { |
|---|
| 3360 | | - struct device *dev = &pdev->dev; |
|---|
| 3361 | | - int i, ret; |
|---|
| 3362 | 3356 | struct regmap *regmap; |
|---|
| 3363 | 3357 | |
|---|
| 3364 | 3358 | regmap = qcom_cc_map(pdev, &mmcc_msm8996_desc); |
|---|
| .. | .. |
|---|
| 3369 | 3363 | regmap_update_bits(regmap, 0x50d8, BIT(31), 0); |
|---|
| 3370 | 3364 | /* Disable the NoC FSM for mmss_mmagic_cfg_ahb_clk */ |
|---|
| 3371 | 3365 | regmap_update_bits(regmap, 0x5054, BIT(15), 0); |
|---|
| 3372 | | - |
|---|
| 3373 | | - for (i = 0; i < ARRAY_SIZE(mmcc_msm8996_hws); i++) { |
|---|
| 3374 | | - ret = devm_clk_hw_register(dev, mmcc_msm8996_hws[i]); |
|---|
| 3375 | | - if (ret) |
|---|
| 3376 | | - return ret; |
|---|
| 3377 | | - } |
|---|
| 3378 | 3366 | |
|---|
| 3379 | 3367 | return qcom_cc_really_probe(pdev, &mmcc_msm8996_desc, regmap); |
|---|
| 3380 | 3368 | } |
|---|