Lines Matching refs:moxart_rtc

55 struct moxart_rtc {
66 struct moxart_rtc *moxart_rtc = dev_get_drvdata(dev);
70 gpio_set_value(moxart_rtc->gpio_sclk, 0);
71 gpio_set_value(moxart_rtc->gpio_data, ((data & 1) == 1));
73 gpio_set_value(moxart_rtc->gpio_sclk, 1);
80 struct moxart_rtc *moxart_rtc = dev_get_drvdata(dev);
85 gpio_set_value(moxart_rtc->gpio_sclk, 0);
87 gpio_set_value(moxart_rtc->gpio_sclk, 1);
89 if (gpio_get_value(moxart_rtc->gpio_data))
98 struct moxart_rtc *moxart_rtc = dev_get_drvdata(dev);
104 gpio_direction_output(moxart_rtc->gpio_data, 0);
105 gpio_set_value(moxart_rtc->gpio_reset, 1);
108 gpio_direction_input(moxart_rtc->gpio_data);
111 gpio_set_value(moxart_rtc->gpio_sclk, 0);
112 gpio_set_value(moxart_rtc->gpio_reset, 0);
122 struct moxart_rtc *moxart_rtc = dev_get_drvdata(dev);
127 gpio_direction_output(moxart_rtc->gpio_data, 0);
128 gpio_set_value(moxart_rtc->gpio_reset, 1);
132 gpio_set_value(moxart_rtc->gpio_sclk, 0);
133 gpio_set_value(moxart_rtc->gpio_reset, 0);
141 struct moxart_rtc *moxart_rtc = dev_get_drvdata(dev);
143 spin_lock_irq(&moxart_rtc->rtc_lock);
172 spin_unlock_irq(&moxart_rtc->rtc_lock);
184 struct moxart_rtc *moxart_rtc = dev_get_drvdata(dev);
187 spin_lock_irq(&moxart_rtc->rtc_lock);
231 spin_unlock_irq(&moxart_rtc->rtc_lock);
243 struct moxart_rtc *moxart_rtc;
246 moxart_rtc = devm_kzalloc(&pdev->dev, sizeof(*moxart_rtc), GFP_KERNEL);
247 if (!moxart_rtc)
250 moxart_rtc->gpio_data = of_get_named_gpio(pdev->dev.of_node,
252 if (!gpio_is_valid(moxart_rtc->gpio_data)) {
254 moxart_rtc->gpio_data);
255 return moxart_rtc->gpio_data;
258 moxart_rtc->gpio_sclk = of_get_named_gpio(pdev->dev.of_node,
260 if (!gpio_is_valid(moxart_rtc->gpio_sclk)) {
262 moxart_rtc->gpio_sclk);
263 return moxart_rtc->gpio_sclk;
266 moxart_rtc->gpio_reset = of_get_named_gpio(pdev->dev.of_node,
268 if (!gpio_is_valid(moxart_rtc->gpio_reset)) {
270 moxart_rtc->gpio_reset);
271 return moxart_rtc->gpio_reset;
274 spin_lock_init(&moxart_rtc->rtc_lock);
275 platform_set_drvdata(pdev, moxart_rtc);
277 ret = devm_gpio_request(&pdev->dev, moxart_rtc->gpio_data, "rtc_data");
283 ret = devm_gpio_request_one(&pdev->dev, moxart_rtc->gpio_sclk,
290 ret = devm_gpio_request_one(&pdev->dev, moxart_rtc->gpio_reset,
297 moxart_rtc->rtc = devm_rtc_device_register(&pdev->dev, pdev->name,
300 if (IS_ERR(moxart_rtc->rtc)) {
302 return PTR_ERR(moxart_rtc->rtc);